#
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(`REMOTE_HOST_TERM',
-`$1 -e ssh -4 $2')
+define(`SSH', `cgmem_nice 300 ssh')
-define(`REMOTE_HOST_TERM_TITLE',
-`$1 -title $3 -n $3 -e ssh -4 $2')
+define(`REMOTE_HOST_TERM', `$1 -e SSH $2')
+
+define(`REMOTE_HOST_TERM_TITLE', `$1 -title $3 -n $3 -e SSH $2')
define(`REMOTE_HOST_KOI8',
REMOTE_HOST_TERM_TITLE(TERM_KOI8, $1, $2))
+define(`REMOTE_SCREEN_KOI8', `-t $1 exec /usr/bin/screen -xRR -S default-koi8')
+define(`REMOTE_SCREEN_UTF8', `-t $1 exec /usr/bin/screen -xRR -S default-utf8')
+
define(`REMOTE_HOST_KOI8_MENU',
"$2 (koi8)" REMOTE_HOST_KOI8($1, $2))
"$2 (koi8,btrt)" REMOTE_HOST_KOI8_BOTRT($1, $2))
define(`REMOTE_HOST_UTF8',
-REMOTE_HOST_TERM(TERM_UTF8, $1))
+REMOTE_HOST_TERM_TITLE(TERM_RU_UTF8, $1, $2))
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_TITLE(TERM_RU_UTF8_BOTLT, $1, $2))
define(`REMOTE_HOST_UTF8_BOTRT',
-REMOTE_HOST_TERM(TERM_UTF8_BOTRT, $1))
+REMOTE_HOST_TERM_TITLE(TERM_RU_UTF8_BOTRT, $1, $2))
define(`REMOTE_HOST_UTF8_BOTLT_MENU',
"$2 (utf8,btlt)" REMOTE_HOST_UTF8_BOTLT($1, $2))
"$2 (utf8,btrt)" REMOTE_HOST_UTF8_BOTRT($1, $2))
define(`REMOTE_HOST_KOI8_BIG',
-TERM_KOI8 -geometry TERM_GEOM_BIG -title "$2" -n "$2" -e ssh -4 "$1")
+TERM_KOI8 -geometry TERM_GEOM_BIG -title "$2" -n "$2" -e SSH "$1")
define(`REMOTE_HOST_KOI8_BIG_MENU',
"$2 (koi8)" REMOTE_HOST_KOI8_BIG($1, $2))
#
# Colon seperated unix directory paths for Modules, xpm files, and bitmaps
#ModulePath /usr/lib/fvwm
-ImagePath /usr/share/pixmaps/fvwm:/usr/share/pixmaps:/usr/include/X11/bitmaps #:/usr/local/firefox/browser/chrome/icons/default:/usr/local/firefox/browser/icons
+ImagePath /usr/share/icons/hicolor/32x32/apps/:/usr/share/pixmaps/fvwm:/usr/share/pixmaps:/usr/include/X11/bitmaps #:/usr/local/firefox/browser/chrome/icons/default:/usr/local/firefox/browser/icons
############################################################################
# COLORS and FONTS
Style "*mpv" Layer 6, PositionPlacement 250p 100p
Style "*clock" !Title, Sticky, WindowListSkip, Color Black/#40c040, NeverFocus, PositionPlacement 50-50w +1p, Layer 2
-Style "emacs" NoPPosition
+Style "deadbeef" PositionPlacement -0 -0
Style "gxmessage" PositionPlacement 50-50w +20
Style "*lock" !Title, Sticky, WindowListSkip
Style "Mosaic" NoPPosition
DestroyFunc UrgencyFunc
AddToFunc UrgencyFunc
+ I Iconify off
-+ I ThisWindow ("*Downloads") Break
++ I ThisWindow ("*Downloads|Skype") Break
+ I FlipFocus
+ I Raise
+ I WarpToWindow 5p 5p
+ I GotoDeskAndPage 0 0 0
+ I TERM_KOI8
+ I Wait TERM
-+ I GotoDeskAndPage 0 0 1
-+ I TERM_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 Wait gxmessage
-+ I GotoDeskAndPage 1 0 1
-+ I TERM_KOI8
-+ I Wait TERM
+ I GotoDeskAndPage 2 0 1
+ I TERM_KOI8 -geometry TERM_GEOM_BIG
+ I Wait TERM
+ I FireFox
++ I GotoDeskAndPage 0 1 1
DestroyFunc ResumeFunction
AddToFunc ResumeFunction
+ 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
+ I Wait gxmessage
-+ I Any ("*Mozilla Firefox") GotoDeskAndPage 0 0 0
++ I Any ("*Mozilla Firefox") GotoDeskAndPage 0 1 1
+ I TestRc (Match) Break
+ I None ("*Mozilla Firefox") FireFox
DestroyFunc PaVuControl
AddToFunc PaVuControl I GotoDeskAndPage 0 1 1
-+ I Exec exec pavucontrol
++ I Exec exec pulseaudio --kill
++ I Exec exec cgmem_nice 200 pulseaudio --start
++ 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 400 deadbeef
+
+DestroyFunc Term-Iskra
+AddToFunc Term-Iskra I GotoDeskAndPage 1 1 2
++ I REMOTE_HOST_KOI8(REMOTE_SCREEN_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(REMOTE_SCREEN_KOI8(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
-+ I REMOTE_HOST_KOI8(phdru.name, phdru.name)
++ I REMOTE_HOST_KOI8(REMOTE_SCREEN_KOI8(phdru.name), phdru.name)
DestroyFunc Term-Phdru-Big
AddToFunc Term-Phdru-Big I GotoDeskAndPage 1 0 1
+ I REMOTE_HOST_KOI8_BIG(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 REMOTE_HOST_KOI8(REMOTE_SCREEN_KOI8(-D 1080 phdru.name), phdru.name)
++ I Wait TERM
++ I GotoDeskAndPage 1 1 2
+
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 -P phd
+ I Wait "*Mozilla Firefox"
-+ I All ("*Mozilla Firefox") Iconify true
-+ I Exec webbrowserX -n file:///home/phd/Internet/WWW/dashboard/index.html
++ 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 Skype
+AddToFunc Skype I GotoDeskAndPage 0 0 1
++ I Exec BROWSER=firefox exec cgmem_nice 1000 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 -
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(phdru.name, phdru)
++ "Iskra+Oper+Phdru" Term3Hosts
++ "" Nop
++ REMOTE_HOST_KOI8_MENU(REMOTE_SCREEN_KOI8(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(REMOTE_SCREEN_KOI8(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(REMOTE_SCREEN_KOI8(phdru.name), phdru)
++ REMOTE_HOST_KOI8_MENU(REMOTE_SCREEN_KOI8(-D 1080 phdru.name), phdru SOCKS5)
+ REMOTE_HOST_UTF8_BOTLT_MENU(phdru.name, phdru)
+ REMOTE_HOST_KOI8_BIG_MENU(phdru.name, PHDRU)
+ "XSetBg" Popup XSetBgMenu
+ "Fvwm Commands" Popup FvwmCommands
+DestroyMenu OSMenu
+AddToMenu OSMenu "OS commands:" Title
++ "Suspend to both" Exec exec s2b
++ "Suspend to disk" Exec exec s2d
++ "Suspend to ram" Exec exec s2r
+
# This menu will fire up some often used programs
-DestroyMenu Utilities
+DestroyMenu Utilities
AddToMenu Utilities "Choose one:" Title
-+ "qPDFview" Exec exec qpdfview
-+ "FBReader" Exec exec fbreader
-+ "" Nop
-+ "GVim" Exec exec gvim
++ "OS" Popup OSMenu
+ "" 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
-#+ "" Nop
-+ "pavucontrol" PaVuControl
-+ "AudioPlayer" AudioPlayer
-+ "Id3Info" Id3Info
-+ "" Nop
-+ "Gajim" Gajim
-+ "Pidgin" Pidgin
-+ "" Nop
-+ "xload" Exec exec xload -geometry =136x136+0+0
-+ "Top" TERM_KOI8 -T Top -n Top -e top
++ "GVim (koi8)" Exec LC_CTYPE=ru_RU.KOI8-R exec gvim
++ "GVim (utf8)" Exec LC_CTYPE=ru_RU.UTF-8 exec gvim
+ "" Nop
+ "Refresh Screen" Refresh
+ "xrefresh" Exec exec xrefresh
+ "" Nop
-#+ "xcalc" Exec exec xcalc
-+ "xclipboard" Exec exec xclipboard
-+ "xcutsel" Exec exec xcutsel
-#+ "xman" Exec exec xman -notopbox -geometry +150+102
-#+ "emacs" Exec emacs -geometry 81x35+150+34
-#+ "xv" Function warp-or-run xv "Exec exec xv -ncols 240 -geometry +0+0"
++ "Skype" Skype
++ "pavucontrol" PaVuControl
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(REMOTE_SCREEN_KOI8(phdru.name), phdru.name))
+*FvwmButtons: (Title iskra, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8(REMOTE_SCREEN_KOI8(iskra-aviel.phdru.name), iskra))
+*FvwmButtons: (Title oper, Icon xterm-linux.xpm, Action REMOTE_HOST_KOI8_BOTRT(REMOTE_SCREEN_KOI8(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 "deadbeef" LC_CTYPE=ru_RU.KOI8-R 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