dnl The file is in m4 format, use FvwmM4 module to read it
dnl like this: ModuleSynchronous FvwmM4 -lock main.m4
-
+dnl
dnl This is to prevent FvwmM4 to shadow $HOME
-undefine(`HOME')
-
+undefine(`HOME')dnl
+dnl
dnl Echo dimension
-`#' width = WIDTH
-
+`#' width = WIDTH()dnl
divert(-1)
dnl TrueType Fonts
define(`TERM_HEB_UTF8', `Exec LC_CTYPE=he_IL.UTF-8 exec TERM -name URxvt')
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_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')
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', `-t $1 exec /usr/bin/screen -xRR -S default-koi8')
-define(`SSH_SCREEN_UTF8', `-t $1 exec /usr/bin/screen -xRR -S default-utf8')
+define(`SSH_SCREEN_KOI8',
+`SSH -t $1 TZ="$(cat /etc/timezone)" exec /usr/bin/screen -xRR -S default-koi8')
+define(`SSH_SCREEN_UTF8',
+`SSH -t $1 TZ="$(cat /etc/timezone)" exec /usr/bin/screen -xRR -S default-utf8')
define(`TERM_TITLE_SSH_SCREEN_KOI8',
-`$1 -title "$3 scr" -n "$3 scr" -e SSH SSH_SCREEN_KOI8($2)')
+`$1 -title "$3 scr" -n "$3 scr" -e SSH_SCREEN_KOI8($2)')
define(`TERM_TITLE_SSH_SCREEN_UTF8',
-`$1 -title "$3 scr" -n "$3 scr" -e SSH SSH_SCREEN_UTF8($2)')
+`$1 -title "$3 scr" -n "$3 scr" -e SSH_SCREEN_UTF8($2)')
define(`MENU_TERM_KOI8_SSH',
"$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 (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 (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))
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 (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))
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))
+ I Exec exec cgmem_nice 200 pavucontrol
+ I Wait "Volume Control"
-changequote([,])
+changequote([,])dnl
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([`], ['])
-
-DestroyFunc AudioPlayer
-AddToFunc AudioPlayer I GotoDeskAndPage 0 1 1
-+ I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 400 deadbeef
-
-DestroyFunc Term-Iskra
-AddToFunc Term-Iskra I GotoDeskAndPage 1 1 2
-+ 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)
+changequote([`], ['])dnl
DestroyFunc Term3Hosts
-AddToFunc Term3Hosts I Term-Iskra
+AddToFunc Term3Hosts I GotoDeskAndPage 1 1 2
++ I TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
+ I Wait TERM
-+ I Term-Oper
++ I TERM_KOI8_BOTRT_SSH_SCREEN(oper.med.ru, oper)
+ I Wait TERM
+ I GotoDeskAndPage 1 0 1
+ I TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru.name)
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 -
#*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)
-*FvwmButtons: (Title "phdru (koi8,scr)", Icon xterm-sgi.xpm, Action TERM_KOI8_SSH_SCREEN(phdru.name, phdru.name))
-*FvwmButtons: (Title "iskra (koi8,scr)", Icon xterm-sgi.xpm, Action TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra))
-*FvwmButtons: (Title "oper (koi8,scr)", Icon xterm-linux.xpm, Action TERM_KOI8_BOTRT_SSH_SCREEN(oper.med.ru, oper))
-popdef(`TERM_KOI8', `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')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 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)
+*FvwmButtons: (Title Skype, Icon skypeforlinux.png, Action Exec "Skype" FvwmCommand "GotoDeskAndPage 0 0 1" && BROWSER=firefox exec cgmem_nice 2000 skypeforlinux)
############################################################################
# FvwmForm