]> git.phdru.name Git - dotfiles.git/blobdiff - .fvwm/main.m4
Feat(recode-filenames-recursive): Allow to omit parameters
[dotfiles.git] / .fvwm / main.m4
index 0d82fb2e00b7f00ab711fac8612ae5ff9fa81d66..8e7c740d554987f64e61a16d6698db271ab97610 100644 (file)
@@ -9,17 +9,17 @@ dnl This is to prevent FvwmM4 to shadow $HOME
 undefine(`HOME')dnl
 dnl
 dnl Echo dimension
-`#' width = WIDTH
+`#' width = WIDTH()dnl
 divert(-1)
 
 dnl TrueType Fonts
-define(`VERY_SMALL_FONT', `xft:Sans:size=10')
-define(`SMALL_FONT', `xft:Sans:size=12')
-define(`MEDIUM_FONT', `xft:Sans:size=14')
-define(`BIG_FONT', `xft:Sans:size=16')
-define(`LARGE_FONT', `xft:Sans:size=18')
-define(`HUGE_FONT', `xft:Sans:size=20')
-define(`GIGANTIC_FONT', `xft:Sans:size=22')
+define(`VERY_SMALL_FONT', `"xft:Liberation Mono:size=10"')
+define(`SMALL_FONT', `"xft:Liberation Mono:size=12"')
+define(`MEDIUM_FONT', `"xft:Liberation Mono:size=14"')
+define(`BIG_FONT', `"xft:Liberation Mono:size=16"')
+define(`LARGE_FONT', `"xft:Liberation Mono:size=18"')
+define(`HUGE_FONT', `"xft:Liberation Mono:size=20"')
+define(`GIGANTIC_FONT', `"xft:Liberation Mono:size=22"')
 
 dnl Bold TT fonts
 define(`SMALL_BOLD_FONT', SMALL_FONT`:Bold')
@@ -67,7 +67,7 @@ define(`TERM_GEOM_BOTRT', TERM_GEOM`-0-0')
 
 define(`TERM_GEOM_BIG',
 ifelse(eval(WIDTH < 1024), 1, `96x30',
-       eval(WIDTH < 1920), 1, `112x32+2-0', `119x32+1-0'))
+       eval(WIDTH < 1920), 1, `112x32+2-0', `127x32+1-0'))
 
 
 define(`TERM', `urxvt')
@@ -79,8 +79,8 @@ define(`TERM_KOI8_BOTLT', `TERM_KOI8 -geometry TERM_GEOM_BOTLT')
 define(`TERM_RU_UTF8_BOTLT', `TERM_RU_UTF8 -geometry TERM_GEOM_BOTLT')
 define(`TERM_KOI8_BOTRT', `TERM_KOI8 -geometry TERM_GEOM_BOTRT')
 define(`TERM_RU_UTF8_BOTRT', `TERM_RU_UTF8 -geometry TERM_GEOM_BOTRT')
-define(`TERM_KOI8_BIG', TERM_KOI8 -geometry TERM_GEOM_BIG)
-define(`TERM_UTF8_BIG', TERM_RU_UTF8 -geometry TERM_GEOM_BIG)
+define(`TERM_KOI8_BIG', `TERM_KOI8 -geometry TERM_GEOM_BIG')
+define(`TERM_UTF8_BIG', `TERM_RU_UTF8 -geometry TERM_GEOM_BIG')
 
 
 define(`SSH', `cgmem_nice 300 ssh')
@@ -90,7 +90,7 @@ define(`TERM_SSH', `$1 -e SSH $2')
 define(`TERM_TITLE_SSH', `$1 -title "$3" -n "$3" -e SSH $2')
 
 define(`TERM_KOI8_SSH',
-TERM_TITLE_SSH(TERM_KOI8, $1, $2))
+`TERM_TITLE_SSH(`TERM_KOI8', $1, $2)')
 
 define(`SSH_SCREEN_KOI8',
 `SSH -t $1 TZ="$(cat /etc/timezone)" exec /usr/bin/screen -xRR -S default-koi8')
@@ -104,85 +104,85 @@ define(`TERM_TITLE_SSH_SCREEN_UTF8',
 `$1 -title "$3 scr" -n "$3 scr" -e SSH_SCREEN_UTF8($2)')
 
 define(`MENU_TERM_KOI8_SSH',
-"$2 (koi8)" TERM_KOI8_SSH($1, $2))
+`"$2 (koi8)" TERM_KOI8_SSH($1, $2)')
 
 define(`TERM_KOI8_BOTLT_SSH',
-TERM_TITLE_SSH(TERM_KOI8_BOTLT, $1, $2))
+`TERM_TITLE_SSH(`TERM_KOI8_BOTLT', $1, $2)')
 
 define(`TERM_KOI8_BOTRT_SSH',
-TERM_TITLE_SSH(TERM_KOI8_BOTRT, $1, $2))
+`TERM_TITLE_SSH(`TERM_KOI8_BOTRT', $1, $2)')
 
 define(`MENU_TERM_KOI8_BOTLT_SSH',
-"$2 (btlt,koi8)" TERM_KOI8_BOTLT_SSH($1, $2))
+`"$2 (btlt,koi8)" TERM_KOI8_BOTLT_SSH($1, $2)')
 
 define(`MENU_TERM_KOI8_BOTRT_SSH',
-"$2 (btrt,koi8)" TERM_KOI8_BOTRT_SSH($1, $2))
+`"$2 (btrt,koi8)" TERM_KOI8_BOTRT_SSH($1, $2)')
 
 define(`TERM_KOI8_SSH_SCREEN',
-TERM_TITLE_SSH_SCREEN_KOI8(TERM_KOI8, $1, $2))
+`TERM_TITLE_SSH_SCREEN_KOI8(`TERM_KOI8', $1, $2)')
 
 define(`MENU_TERM_KOI8_SSH_SCREEN',
-"$2 (koi8,scr)" TERM_TITLE_SSH_SCREEN_KOI8(TERM_KOI8, $1, $2))
+`"$2 (koi8,scr)" TERM_TITLE_SSH_SCREEN_KOI8(`TERM_KOI8', $1, $2)')
 
 define(`TERM_KOI8_BOTLT_SSH_SCREEN',
-TERM_TITLE_SSH_SCREEN_KOI8(TERM_KOI8_BOTLT, $1, $2))
+`TERM_TITLE_SSH_SCREEN_KOI8(`TERM_KOI8_BOTLT', $1, $2)')
 
 define(`TERM_KOI8_BOTRT_SSH_SCREEN',
-TERM_TITLE_SSH_SCREEN_KOI8(TERM_KOI8_BOTRT, $1, $2))
+`TERM_TITLE_SSH_SCREEN_KOI8(`TERM_KOI8_BOTRT', $1, $2)')
 
 define(`MENU_TERM_KOI8_BOTLT_SSH_SCREEN',
-"$2 (btlt,koi8,scr)" TERM_KOI8_BOTLT_SSH_SCREEN($1, $2))
+`"$2 (btlt,koi8,scr)" TERM_KOI8_BOTLT_SSH_SCREEN($1, $2)')
 
 define(`MENU_TERM_KOI8_BOTRT_SSH_SCREEN',
-"$2 (btrt,koi8,scr)" TERM_KOI8_BOTRT_SSH_SCREEN($1, $2))
+`"$2 (btrt,koi8,scr)" TERM_KOI8_BOTRT_SSH_SCREEN($1, $2)')
 
 define(`TERM_UTF8_SSH',
-TERM_TITLE_SSH(TERM_RU_UTF8, $1, $2))
+`TERM_TITLE_SSH(`TERM_RU_UTF8', $1, $2)')
 
 define(`MENU_TERM_UTF8_SSH',
-"$2 (utf8)" TERM_UTF8_SSH($1, $2))
+`"$2 (utf8)" TERM_UTF8_SSH($1, $2)')
 
 define(`TERM_UTF8_BOTLT_SSH',
-TERM_TITLE_SSH(TERM_RU_UTF8_BOTLT, $1, $2))
+`TERM_TITLE_SSH(`TERM_RU_UTF8_BOTLT', $1, $2)')
 
 define(`TERM_UTF8_BOTRT_SSH',
-TERM_TITLE_SSH(TERM_RU_UTF8_BOTRT, $1, $2))
+`TERM_TITLE_SSH(`TERM_RU_UTF8_BOTRT', $1, $2)')
 
 define(`MENU_TERM_UTF8_BOTLT_SSH',
-"$2 (btlt,utf8)" TERM_UTF8_BOTLT_SSH($1, $2))
+`"$2 (btlt,utf8)" TERM_UTF8_BOTLT_SSH($1, $2)')
 
 define(`MENU_TERM_UTF8_BOTRT_SSH',
-"$2 (btrt,utf8)" TERM_UTF8_BOTRT_SSH($1, $2))
+`"$2 (btrt,utf8)" TERM_UTF8_BOTRT_SSH($1, $2)')
 
 define(`TERM_UTF8_SSH_SCREEN',
-TERM_TITLE_SSH_SCREEN_UTF8(TERM_RU_UTF8, $1, $2))
+`TERM_TITLE_SSH_SCREEN_UTF8(`TERM_RU_UTF8', $1, $2)')
 
 define(`MENU_TERM_UTF8_SSH_SCREEN',
-"$2 (utf8,scr)" TERM_UTF8_SSH_SCREEN($1, $2))
+`"$2 (utf8,scr)" TERM_UTF8_SSH_SCREEN($1, $2)')
 
 define(`TERM_UTF8_BOTLT_SSH_SCREEN',
-TERM_TITLE_SSH_SCREEN_UTF8(TERM_RU_UTF8_BOTLT, $1, $2))
+`TERM_TITLE_SSH_SCREEN_UTF8(`TERM_RU_UTF8_BOTLT', $1, $2)')
 
 define(`TERM_UTF8_BOTRT_SSH_SCREEN',
-TERM_TITLE_SSH_SCREEN_UTF8(TERM_RU_UTF8_BOTRT, $1, $2))
+`TERM_TITLE_SSH_SCREEN_UTF8(`TERM_RU_UTF8_BOTRT', $1, $2)')
 
 define(`MENU_TERM_UTF8_BOTLT_SSH_SCREEN',
-"$2 (btlt,utf8,scr)" TERM_UTF8_BOTLT_SSH_SCREEN($1, $2))
+`"$2 (btlt,utf8,scr)" TERM_UTF8_BOTLT_SSH_SCREEN($1, $2)')
 
 define(`MENU_TERM_UTF8_BOTRT_SSH_SCREEN',
-"$2 (btrt,utf8,scr)" TERM_UTF8_BOTRT_SSH_SCREEN($1, $2))
+`"$2 (btrt,utf8,scr)" TERM_UTF8_BOTRT_SSH_SCREEN($1, $2)')
 
 define(`TERM_KOI8_BIG_SSH',
-TERM_KOI8_BIG -title "$2" -n "$2" -e SSH "$1")
+`TERM_KOI8_BIG -title "$2" -n "$2" -e SSH "$1"')
 
 define(`MENU_TERM_KOI8_BIG_SSH',
-"$2 (koi8)" TERM_KOI8_BIG_SSH($1, $2))
+`"$2 (koi8)" TERM_KOI8_BIG_SSH($1, $2)')
 
 define(`TERM_KOI8_BIG_SSH_SCREEN',
-TERM_KOI8_BIG -title "$2" -n "$2" -e SSH_SCREEN_KOI8 "$1")
+`TERM_KOI8_BIG -title "$2" -n "$2" -e SSH_SCREEN_KOI8 "$1"')
 
 define(`MENU_TERM_KOI8_BIG_SSH_SCREEN',
-"$2 (koi8,scr)" TERM_KOI8_BIG_SSH_SCREEN($1, $2))
+`"$2 (koi8,scr)" TERM_KOI8_BIG_SSH_SCREEN($1, $2)')
 
 divert
 
@@ -290,10 +290,6 @@ Style "FvwmPager"       Layer 2
 # Terminals
 Style "*term"           Icon term.xpm
 Style "*rxvt"           Icon term.xpm
-Style "term-im-local"   Icon pidgin-menu.xpm
-Style "term-im-remote"  Icon rcalc2.xpm
-Style "term-im-*"       IconBox 630 -75 -2 -2, IconGrid 200 80
-Style "term-im-*"       StartsOnPage 1 1 0, StartIconic
 
 # Browsers' windows
 Style "Certificate Manager" PositionPlacement Center
@@ -302,16 +298,8 @@ Style "*Mozilla*"       PositionPlacement +0 -0
 
 Style "*Chromium*"      PositionPlacement +0 -0
 
-# IM
-Style "Gajim"           PositionPlacement +0 -0
-Style "* - Gajim"       MinOverlapPercentPlacement
-# Pidgin
-Style "Buddy List"      PositionPlacement +0 -0
-Style "*Pidgin*"        MinOverlapPercentPlacement
-
-# (S)MPlayer
-Style "*MPlayer*"       Layer 6, PositionPlacement 250p 100p
-Style "*mpv"            Layer 6, PositionPlacement 250p 100p
+# Video player(s)
+Style "*mpv"            Layer 6, PositionPlacement 200p 150p
 
 Style "*clock"          !Title, Sticky, WindowListSkip, Color Black/#40c040, NeverFocus, PositionPlacement 50-50w +1p, Layer 2
 Style "deadbeef"        PositionPlacement -0 -0
@@ -517,7 +505,7 @@ AddToFunc RestartFunction
 DestroyFunc UrgencyFunc
 AddToFunc UrgencyFunc
 +                             I Iconify off
-+                             I ThisWindow ("*Downloads|Skype") Break
++                             I ThisWindow ("*Downloads|Skype") Break 1
 +                             I FlipFocus
 +                             I Raise
 +                             I WarpToWindow 5p 5p
@@ -536,7 +524,6 @@ AddToFunc StartStandardSession
 +              I TERM_KOI8_BIG
 +              I Wait TERM
 +              I FireFox
-+              I GotoDeskAndPage 0 1 1
 
 DestroyFunc ResumeFunction
 AddToFunc ResumeFunction
@@ -549,7 +536,7 @@ AddToFunc ResumeFunction
 +              I XsetbgFilename
 +              I Wait gxmessage
 +              I Any ("*Mozilla Firefox") GotoDeskAndPage 0 1 1
-+              I TestRc (Match) Break
++              I TestRc (Match) Break 1
 +              I None ("*Mozilla Firefox") FireFox
 
 ############################################################################
@@ -625,39 +612,13 @@ AddToFunc PaVuControl         I GotoDeskAndPage 0 1 1
 +                             I Exec exec cgmem_nice 200 pavucontrol
 +                             I Wait "Volume Control"
 
-changequote([,])
 DestroyFunc Id3Info
-AddToFunc Id3Info             I Exec "$HOME"/lib/audio/mp3/id3info.py "`audtool --current-song-filename`" | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
-changequote([`], ['])
+AddToFunc Id3Info             I Exec "$HOME"/lib/audio/mp3/id3info.py "$(audtool --current-song-filename)" | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
 
-DestroyFunc Term-Iskra
-AddToFunc Term-Iskra          I GotoDeskAndPage 1 1 2
+DestroyFunc Term2HostsHome
+AddToFunc Term2HostsHome      I GotoDeskAndPage 1 1 2
++                             I PipeRead 'test -n "$(ip address show tun0 up 2>/dev/null)" || test -n "$(ip address show wg0 up 2>/dev/null)" || { echo Exec exec gxmessage -buttons Ok -default Ok "ERROR: Cannot find tun0/wg0 interfaces!"; echo Wait gxmessage; echo Break 1; }'
 +                             I TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
-
-DestroyFunc Term-Iskra-Big
-AddToFunc Term-Iskra-Big      I GotoDeskAndPage 1 1 2
-+                             I TERM_KOI8_BIG_SSH(iskra-aviel.phdru.name, ISKRA)
-
-DestroyFunc Term-Oper
-AddToFunc Term-Oper           I GotoDeskAndPage 1 1 2
-+                             I TERM_KOI8_BOTRT_SSH_SCREEN(oper.med.ru, oper)
-
-DestroyFunc Term-Oper-Big
-AddToFunc Term-Oper-Big       I GotoDeskAndPage 1 1 2
-+                             I TERM_KOI8_BIG_SSH(oper.med.ru, OPER)
-
-DestroyFunc Term-Phdru
-AddToFunc Term-Phdru          I GotoDeskAndPage 1 0 1
-+                             I TERM_KOI8_SSH_SCREEN(phdru.name, phdru.name)
-
-DestroyFunc Term-Phdru-Big
-AddToFunc Term-Phdru-Big      I GotoDeskAndPage 1 0 1
-+                             I TERM_KOI8_BIG_SSH(phdru.name, phdru.name)
-
-DestroyFunc Term3Hosts
-AddToFunc Term3Hosts          I Term-Iskra
-+                             I Wait TERM
-+                             I Term-Oper
 +                             I Wait TERM
 +                             I GotoDeskAndPage 1 0 1
 +                             I TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru.name)
@@ -665,13 +626,24 @@ AddToFunc Term3Hosts          I Term-Iskra
 +                             I GotoDeskAndPage 1 1 2
 
 DestroyFunc FireFox
-AddToFunc FireFox             I Any ("*Mozilla Firefox") Break
+AddToFunc FireFox             I Any ("*Mozilla Firefox") Break 1
 +                             I GotoDeskAndPage 1 0 0
 +                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 4000 start-browser firefox -P phd
 +                             I Wait "*Mozilla Firefox"
-+                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 4000 firefox --new-window
-+                             I Wait "*Mozilla Firefox"
-+                             I Next ("*Mozilla Firefox") Iconify true
+
+DestroyFunc SuspendFireFox
+AddToFunc SuspendFireFox      I Exec exec pkill -STOP firefox
++                             I All ("*Mozilla Firefox") Iconify True
+
+DestroyFunc ResumeFireFox
+AddToFunc ResumeFireFox       I Exec exec pkill -CONT firefox
++                             I All ("*Mozilla Firefox") Iconify False
+
+DestroyFunc Chromium
+AddToFunc Chromium            I Any ("*Chromium") Break 1
++                             I GotoDeskAndPage 1 1 0
++                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 2000 start-browser chromium
++                             I Wait "*Chromium"
 
 DestroyFunc Gajim
 AddToFunc Gajim               I GotoDeskAndPage 1 1 0
@@ -683,7 +655,7 @@ AddToFunc Pidgin              I GotoDeskAndPage 1 1 0
 
 DestroyFunc Skype
 AddToFunc Skype               I GotoDeskAndPage 0 0 1
-+                             I Exec BROWSER=firefox exec cgmem_nice 1000 skypeforlinux
++                             I Exec BROWSER=firefox exec cgmem_nice 2000 skypeforlinux
 
 DestroyFunc XFilename
 AddToFunc XSetbgFilename      I Exec "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
@@ -768,26 +740,25 @@ AddToMenu TermColors    "Term Colors" Title
 +                       "Term: white/black" TERM_KOI8 -fg white -cr white -bg black
 
 AddToMenu Systems       "Systems" Title
-+                       "Iskra+Oper+Phdru" Term3Hosts
++                       "Iskra+Phdru" Term2HostsHome
 +                       ""        Nop
+pushdef(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 1 1"')dnl
+pushdef(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt -xrm "*Page: 1 1 1"')dnl
 +                       MENU_TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
 +                       MENU_TERM_UTF8_BOTLT_SSH(iskra-aviel.phdru.name, iskra)
 +                       MENU_TERM_KOI8_BIG_SSH(iskra-aviel.phdru.name, ISKRA)
 +                       ""        Nop
-+                       MENU_TERM_KOI8_BOTRT_SSH_SCREEN(oper.med.ru, oper)
-+                       MENU_TERM_UTF8_BOTRT_SSH(oper.med.ru, oper)
-+                       MENU_TERM_KOI8_BIG_SSH(oper.med.ru, OPER)
-+                       ""        Nop
+pushdef(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 0 1"')dnl
+pushdef(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt -xrm "*Page: 1 0 1"')dnl
 +                       MENU_TERM_KOI8_SSH_SCREEN(phdru.name, phdru)
 +                       MENU_TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru SOCKS5)
 +                       MENU_TERM_UTF8_BOTLT_SSH(phdru.name, phdru)
 +                       MENU_TERM_KOI8_BIG_SSH(phdru.name, PHDRU)
+popdef(`TERM_KOI8', `TERM_RU_UTF8')dnl
 
 AddToMenu FvwmCommands  "Fvwm Commands" Title
 +                       "Restart" Restart
 +                       "Raise all" Raise-All
-#+                       "Restart Fvwm2" Restart fvwm2
-#+                       "Start Fvwm"    Restart fvwm
 +                       "Fvwm Setup"    Popup FvwmSetup
 +                       "Fvwm Modules"  Popup FvwmModules
 +                       "" Nop
@@ -875,8 +846,10 @@ AddToMenu Utilities     "Choose one:" Title
 DestroyMenu  Browsers
 AddToMenu Browsers      "Choose one:" Title
 +                       "FireFox" FireFox
-+                       "Chromium" None ("*Chromium") Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 2000 start-browser chromium
-+                       "Opera" None ("*Opera") Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 2000 start-browser opera
++                       "Suspend FireFox" SuspendFireFox
++                       "Resume FireFox" ResumeFireFox
++                       ""       Nop
++                       "Chromium" Chromium
 
 # A wide variety of screenlocking options...
 #AddToMenu XlockMenu     "Choose one:" Title
@@ -893,14 +866,17 @@ AddToMenu Browsers      "Choose one:" Title
 #+                       "Blank" Exec exec xlock -mode blank
 
 AddToMenu XScreenSaverMenu     "Choose mode:" Title
-+                       "Blank Screen Now" Exec exec xscreensaver-command -activate
-+                       "Lock Screen Now"  Exec exec xscreensaver-command -lock
-+                       "Screen Saver Demo" Exec exec xscreensaver-command -demo
-+                       "Screen Saver Preferences"  Exec exec xscreensaver-command -prefs
-+                       "Reinitialize Screen Saver" Exec exec xscreensaver-command -restart
++                       "Blank Screen via xset" Exec xset dpms force off
+#+                       "Blank Screen Now" Exec exec xscreensaver-command --suspend
++                       "Activate A Hack Now" Exec exec xscreensaver-command --activate
++                       "Lock Screen Now"  Exec exec xscreensaver-command --lock
++                       "" Nop
++                       "Screen Saver Demo" Exec exec xscreensaver-demo
++                       "Screen Saver Settings"  Exec exec xscreensaver-settings
 +                       "" Nop
-+                       "Kill Screen Saver"         Exec exec xscreensaver-command -exit
++                       "Kill Screen Saver"         Exec exec xscreensaver-command --exit
 +                       "Launch Screen Saver"       Exec exec xscreensaver
++                       "Reinitialize Screen Saver" Exec exec xscreensaver-command --restart
 
 AddToMenu XSetBgMenu    "XSetBg" Title
 +                       "Change wallpaper" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-force
@@ -908,18 +884,16 @@ AddToMenu XSetBgMenu    "XSetBg" Title
 +                       "Stop" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-stop
 +                       "Restart" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-restart
 +                       ""       Nop
-changequote([,])
-+                       "Xli" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" "$fn"
-+                       "Xli (scaled)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" -zoom auto "$fn"
-+                       "Open in browser" Exec exec webbrowserX -n "`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`"
++                       "Xli" Exec fn="$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r)" && exec xli -title "$(echo $fn | sed 's/[ .]/_/g')" "$fn"
++                       "Xli (scaled)" Exec fn="$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r)" && exec xli -title "$(echo $fn | sed 's/[ .]/_/g')" -zoom auto "$fn"
++                       "Open in browser" Exec exec cgmem_nice 4000 webbrowserX -n "$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r)"
 +                       "Filename" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r
 +                       "XFilename" Exec "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
 +                       "XFilename (wrapped)" XSetbgFilename
 +                       ""       Nop
-+                       "Xli (prev.)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" "$fn"
-+                       "Xli (prev., scaled)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" -zoom auto "$fn"
-+                       "Open in browser (prev.)" Exec exec webbrowserX -n "`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`"
-changequote([`], ['])
++                       "Xli (prev.)" Exec fn="$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1)" && exec xli -title "$(echo $fn | sed 's/[ .]/_/g')" "$fn"
++                       "Xli (prev., scaled)" Exec fn="$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1)" && exec xli -title "$(echo $fn | sed 's/[ .]/_/g')" -zoom auto "$fn"
++                       "Open in browser (prev.)" Exec exec cgmem_nice 4000 webbrowserX -n "$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1)"
 +                       "Filename (prev.)" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r 1
 +                       "XFilename (prev.)" Exec "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
 +                       "XFilename (prev., wrapped)" Exec "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
@@ -961,23 +935,26 @@ changequote([`], ['])
 #*FvwmButtons: (Swallow XClock 'Exec exec xclock -update 1 -geometry -3000-3000')
 
 # Buttons
-pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM')
-pushdef(`TERM_RU_UTF8', `Exec "URxvt" LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')
+pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM')dnl
+pushdef(`TERM_RU_UTF8', `Exec "URxvt" LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')dnl
 *FvwmButtons: (Title Term,     Icon rterm2.xpm,      Action TERM_KOI8)
 *FvwmButtons: (Title UTF-8,    Icon rterm2.xpm,      Action TERM_RU_UTF8)
+popdef(`TERM_KOI8', `TERM_RU_UTF8')dnl
+pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 0 1"')dnl
 *FvwmButtons: (Title "phdru (k8,s)",    Icon xterm-sgi.xpm,   Action TERM_KOI8_SSH_SCREEN(phdru.name, phdru.name))
+popdef(`TERM_KOI8')dnl
+pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 1 1"')dnl
 *FvwmButtons: (Title "iskra (k8,s)",    Icon xterm-sgi.xpm,   Action TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra))
-*FvwmButtons: (Title "oper (k8,s)",     Icon xterm-linux.xpm, Action TERM_KOI8_BOTRT_SSH_SCREEN(oper.med.ru, oper))
-popdef(`TERM_KOI8', `TERM_RU_UTF8')
+popdef(`TERM_KOI8')dnl
 
 *FvwmButtons: (Title Wallpaper, Icon find1.xpm,        Action Exec "gxmessage" "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -)
 *FvwmButtons: (Title "-1",      Icon find1.xpm,        Action Exec "gxmessage" "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -)
 *FvwmButtons: (Title Next,      Icon Jrecycle.xpm,     Action Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-force)
 #*FvwmButtons: (Title pavucontrol, Icon mini.sound.xpm, Action Exec "Volume Control" exec cgmem_nice 200 pavucontrol)
 #*FvwmButtons: (Title Id3Info,  Icon bell.xpm,         Action Id3Info)
-*FvwmButtons: (Title AudioPlayer,  Icon bell.xpm,      Action Exec "deadbeef" LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 400 deadbeef)
+#*FvwmButtons: (Title Skype,    Icon skypeforlinux.png, Action Exec "Skype" FvwmCommand "GotoDeskAndPage 0 0 1" && BROWSER=firefox exec cgmem_nice 2000 skypeforlinux)
+*FvwmButtons: (Title AudioPlayer,  Icon bell.xpm,      Action Exec "deadbeef" LC_CTYPE=ru_RU.KOI8-R FvwmCommand "GotoDeskAndPage 0 1 1" && exec cgmem_nice 400 deadbeef)
 #*FvwmButtons: (Title XLock,     Icon Jxlock.xpm,      Action Exec exec xscreensaver-command -lock)
-*FvwmButtons: (Title Skype,    Icon skypeforlinux.png, Action Skype)
 
 ############################################################################
 # FvwmForm