#
dnl The file is in m4 format, use FvwmM4 module to read it
-dnl like this: ModuleSynchronous FvwmM4 -lock .fvwm2rc
+dnl like this: ModuleSynchronous FvwmM4 -lock main.m4
dnl This is to prevent FvwmM4 to shadow $HOME
undefine(`HOME')
define(`TERM', `urxvt')
define(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM')
-define(`TERM_UTF8', `Exec exec "$HOME"/lib/X11/utf8rxvt')
+define(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')
+define(`TERM_EN_UTF8', `Exec LC_CTYPE=en_US.UTF-8 exec TERM -name URxvt')
+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_UTF8_BOTLT', `TERM_UTF8 -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_UTF8_BOTRT', `TERM_UTF8 -geometry TERM_GEOM_BOTRT')
+define(`TERM_RU_UTF8_BOTRT', `TERM_RU_UTF8 -geometry TERM_GEOM_BOTRT')
-define(`SSH', `ssh -4')
+define(`SSH', `cgmem_nice 300 ssh -4')
define(`REMOTE_HOST_TERM', `$1 -e SSH $2')
define(`REMOTE_HOST_KOI8',
REMOTE_HOST_TERM_TITLE(TERM_KOI8, $1, $2))
+define(`REMOTE_SCREEN', `-t $1 exec screen -xRR -S default')
+
+define(`REMOTE_HOST_KOI8_SCREEN',
+REMOTE_HOST_KOI8(REMOTE_SCREEN($1), $2))
+
define(`REMOTE_HOST_KOI8_MENU',
"$2 (koi8)" REMOTE_HOST_KOI8($1, $2))
define(`REMOTE_HOST_KOI8_BOTLT',
REMOTE_HOST_TERM_TITLE(TERM_KOI8_BOTLT, $1, $2))
+define(`REMOTE_HOST_KOI8_SCREEN_BOTLT',
+REMOTE_HOST_TERM_TITLE(TERM_KOI8_BOTLT, REMOTE_SCREEN($1), $2))
+
define(`REMOTE_HOST_KOI8_BOTRT',
REMOTE_HOST_TERM_TITLE(TERM_KOI8_BOTRT, $1, $2))
+define(`REMOTE_HOST_KOI8_SCREEN_BOTRT',
+REMOTE_HOST_TERM_TITLE(TERM_KOI8_BOTRT, REMOTE_SCREEN($1), $2))
+
define(`REMOTE_HOST_KOI8_BOTLT_MENU',
"$2 (koi8,btlt)" REMOTE_HOST_KOI8_BOTLT($1, $2))
"$2 (koi8,btrt)" REMOTE_HOST_KOI8_BOTRT($1, $2))
define(`REMOTE_HOST_UTF8',
-REMOTE_HOST_TERM(TERM_UTF8, $1))
+REMOTE_HOST_TERM(TERM_RU_UTF8, $1))
define(`REMOTE_HOST_UTF8_MENU',
"$2 (utf8)" REMOTE_HOST_UTF8($1, $2))
define(`REMOTE_HOST_UTF8_BOTLT',
-REMOTE_HOST_TERM(TERM_UTF8_BOTLT, $1))
+REMOTE_HOST_TERM(TERM_RU_UTF8_BOTLT, $1))
define(`REMOTE_HOST_UTF8_BOTRT',
-REMOTE_HOST_TERM(TERM_UTF8_BOTRT, $1))
+REMOTE_HOST_TERM(TERM_RU_UTF8_BOTRT, $1))
define(`REMOTE_HOST_UTF8_BOTLT_MENU',
"$2 (utf8,btlt)" REMOTE_HOST_UTF8_BOTLT($1, $2))
+ I TERM_KOI8
+ I Wait TERM
+ I GotoDeskAndPage 0 0 1
-+ I TERM_UTF8 -geometry 38x30+0-0
++ I TERM_RU_UTF8 -geometry 38x30+0-0
+ I Wait URxvt
-+ I Exec exec pulseaudio --start
++ I Exec exec cgmem_nice 200 pulseaudio --start
+ I PaVuControl
+ I Exec exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
+ I XsetbgFilename
+ I GotoDeskAndPage 0 0 0
+ I TERM_KOI8
+ I Wait TERM
-+ I Exec exec pulseaudio --start
++ I Exec exec cgmem_nice 200 pulseaudio --start
+ I None ("Volume Control") PaVuControl
+ I Exec sleep 10; exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
+ I XsetbgFilename
DestroyFunc PaVuControl
AddToFunc PaVuControl I GotoDeskAndPage 0 1 1
-+ I Exec exec pavucontrol
++ I Exec exec cgmem_nice 200 pavucontrol
+ I Wait "Volume Control"
changequote([,])
DestroyFunc AudioPlayer
AddToFunc AudioPlayer I GotoDeskAndPage 0 1 1
-+ I Exec exec audacious
++ I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 200 audacious
+
+DestroyFunc Term-Iskra
+AddToFunc Term-Iskra I GotoDeskAndPage 1 1 2
++ I REMOTE_HOST_KOI8(iskra-aviel.phdru.name, iskra)
+
+DestroyFunc Term-Iskra-Big
+AddToFunc Term-Iskra-Big I GotoDeskAndPage 1 1 2
++ I REMOTE_HOST_KOI8_BIG(iskra-aviel.phdru.name, iskra)
+
+DestroyFunc Term-Oper
+AddToFunc Term-Oper I GotoDeskAndPage 1 1 2
++ I REMOTE_HOST_KOI8_BOTRT(oper.med.ru, oper)
+
+DestroyFunc Term-Oper-Big
+AddToFunc Term-Oper-Big I GotoDeskAndPage 1 1 2
++ I REMOTE_HOST_KOI8_BIG(oper.med.ru, OPER)
DestroyFunc Term-Phdru
AddToFunc Term-Phdru I GotoDeskAndPage 1 0 1
DestroyFunc FireFox
AddToFunc FireFox I Any ("*Mozilla Firefox") Break
+ I GotoDeskAndPage 1 0 0
-+ I Exec exec start-browser firefox
++ I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 4000 start-browser firefox
+ I Wait "*Mozilla Firefox"
-+ I Exec exec firefox --new-window
++ 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 Gajim
AddToFunc Gajim I GotoDeskAndPage 1 1 0
-+ I Exec exec gajim
++ I Exec exec cgmem_nice 300 gajim
DestroyFunc Pidgin
AddToFunc Pidgin I GotoDeskAndPage 1 1 0
-+ I Exec exec pidgin
++ I Exec exec cgmem_nice 300 pidgin
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 -
AddToMenu Terminals "Terminals" Title
+ "Grey term (koi8)" TERM_KOI8
-+ "Grey term (utf8)" TERM_UTF8
++ "Grey term (utf8)" TERM_RU_UTF8
++ "Grey term (heb-utf8)" TERM_HEB_UTF8
+ "Grey term (koi8,btlt)" TERM_KOI8_BOTLT
+ "Grey term (koi8,btrt)" TERM_KOI8_BOTRT
-+ "Grey term (utf8,btlt)" TERM_UTF8_BOTLT
-+ "Grey term (utf8,btrt)" TERM_UTF8_BOTRT
++ "Grey term (utf8,btlt)" TERM_RU_UTF8_BOTLT
++ "Grey term (utf8,btrt)" TERM_RU_UTF8_BOTRT
+ "Big grey term (koi8)" TERM_KOI8 -geometry TERM_GEOM_BIG
-+ "Big grey term (utf8)" TERM_UTF8 -geometry TERM_GEOM_BIG
++ "Big grey term (utf8)" TERM_RU_UTF8 -geometry TERM_GEOM_BIG
+ "" Nop
+ "White/black term (koi8)" TERM_KOI8 -fg white -cr white -bg black
-+ "White/black term (utf8)" TERM_UTF8 -fg white -bg black
++ "White/black term (utf8)" TERM_RU_UTF8 -fg white -bg black
AddToMenu TermColors "Term Colors" Title
+ "Term: black/mediumturquoise" TERM_KOI8 -fg black -cr black -bg mediumturquoise
+ "Term: white/black" TERM_KOI8 -fg white -cr white -bg black
AddToMenu Systems "Systems" Title
++ REMOTE_HOST_KOI8_MENU(iskra-aviel.phdru.name, iskra)
++ REMOTE_HOST_UTF8_BOTLT_MENU(iskra-aviel.phdru.name, iskra)
++ REMOTE_HOST_KOI8_BIG_MENU(iskra-aviel.phdru.name, ISKRA)
++ "" Nop
++ REMOTE_HOST_KOI8_BOTRT_MENU(oper.med.ru, oper)
++ REMOTE_HOST_UTF8_BOTRT_MENU(oper.med.ru, oper)
++ REMOTE_HOST_KOI8_BIG_MENU(oper.med.ru, OPER)
++ "" Nop
+ REMOTE_HOST_KOI8_MENU(phdru.name, phdru)
+ REMOTE_HOST_UTF8_BOTLT_MENU(phdru.name, phdru)
+ REMOTE_HOST_KOI8_BIG_MENU(phdru.name, PHDRU)
# This menu will fire up some often used programs
DestroyMenu Utilities
AddToMenu Utilities "Choose one:" Title
-+ "qPDFview" Exec exec qpdfview
-+ "FBReader" Exec exec fbreader
++ "qPDFview" Exec LC_CTYPE=ru_RU.KOI8-R exec qpdfview
++ "FBReader" Exec LC_CTYPE=ru_RU.KOI8-R exec fbreader
+ "" Nop
-+ "GVim" Exec exec gvim
++ "GVim (koi8)" Exec LC_CTYPE=ru_RU.KOI8-R exec gvim
++ "GVim (utf8)" Exec LC_CTYPE=ru_RU.UTF-8 exec gvim
+ "" Nop
#+ "XFortune" Exec /usr/games/fortune | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
#+ "xbuffy" Exec exec xbuffy -fn 'XBUFFY_FONT' -geometry +0+125 -boxfile mail/misc/.xbuffyrc
DestroyMenu Browsers
AddToMenu Browsers "Choose one:" Title
+ "FireFox" FireFox
-+ "Chromium" None ("*Chromium") Exec exec start-browser chromium
-+ "Opera" None ("*Opera") Exec exec start-browser opera
++ "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
# A wide variety of screenlocking options...
#AddToMenu XlockMenu "Choose one:" Title
AddToMenu XSetBgMenu "XSetBg" Title
+ "Change wallpaper" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-force
-+ "Start" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-start
++ "Start" Exec exec cgmem_nice 100 "$HOME"/current/projects/xsetbg/xsetbg-http-start
+ "Stop" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-stop
+ "Restart" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-restart
+ "" Nop
# Buttons
pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM')
-pushdef(`TERM_UTF8', `Exec "URxvt" exec "$HOME"/lib/X11/utf8rxvt')
+pushdef(`TERM_RU_UTF8', `Exec "URxvt" LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')
*FvwmButtons: (Title Term, Icon rterm2.xpm, Action TERM_KOI8)
-*FvwmButtons: (Title UTF-8, Icon rterm2.xpm, Action TERM_UTF8)
-*FvwmButtons: (Title phdru, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8(phdru.name, phdru.name))
-popdef(`TERM_KOI8', `TERM_UTF8')
+*FvwmButtons: (Title UTF-8, Icon rterm2.xpm, Action TERM_RU_UTF8)
+*FvwmButtons: (Title phdru, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8_SCREEN(-D 1080 phdru.name, phdru.name))
+*FvwmButtons: (Title iskra, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8_SCREEN(iskra-aviel.phdru.name, iskra))
+*FvwmButtons: (Title oper, Icon xterm-linux.xpm, Action REMOTE_HOST_KOI8_SCREEN_BOTRT(oper.med.ru, oper))
+popdef(`TERM_KOI8', `TERM_RU_UTF8')
*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 pavucontrol)
+*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 "Audacious" exec audacious)
+*FvwmButtons: (Title AudioPlayer, Icon bell.xpm, Action Exec "Audacious" LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 200 audacious)
#*FvwmButtons: (Title XLock, Icon Jxlock.xpm, Action Exec exec xscreensaver-command -lock)
############################################################################