]> git.phdru.name Git - dotfiles.git/blobdiff - .fvwm/phd.m4
.fvwmrc: minor refactoring
[dotfiles.git] / .fvwm / phd.m4
index 9ff841840bcb6c9557d31e1e0599331e7c523d69..e4588c4f47f9695c2cdbe8425ceb9f2efe796349 100644 (file)
@@ -5,17 +5,13 @@
 dnl The file is in m4 format, use FvwmM4 module to read it
 dnl like this: ModuleSynchronous FvwmM4 -lock .fvwm2rc
 
 dnl The file is in m4 format, use FvwmM4 module to read it
 dnl like this: ModuleSynchronous FvwmM4 -lock .fvwm2rc
 
-
 dnl This is to prevent FvwmM4 to shadow $HOME
 undefine(`HOME')
 
 dnl This is to prevent FvwmM4 to shadow $HOME
 undefine(`HOME')
 
-
 dnl Echo dimension
 dnl Echo dimension
-changecom(`/*', `*/')
-# width = WIDTH
-changecom(`#')
-
+`#' width = WIDTH
 
 
+divert(-1)
 dnl koi8-r Fonts
 dnl define(`SMALL_FONT_KOI8', `-*-fixed-medium-r-normal-*-*-100-*-*-*-*-koi8-r')
 dnl define(`MEDIUM_FONT_KOI8', `-*-fixed-medium-r-normal-*-*-120-*-*-*-*-koi8-r')
 dnl koi8-r Fonts
 dnl define(`SMALL_FONT_KOI8', `-*-fixed-medium-r-normal-*-*-100-*-*-*-*-koi8-r')
 dnl define(`MEDIUM_FONT_KOI8', `-*-fixed-medium-r-normal-*-*-120-*-*-*-*-koi8-r')
@@ -30,6 +26,7 @@ dnl define(`XBUFFY_FONT', `-cronyx-helvetica-bold-r-*-*-*-100-*-*-*-*-koi8-r')
 
 
 dnl TrueType Fonts
 
 
 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(`SMALL_FONT', `xft:Sans:size=12')
 define(`MEDIUM_FONT', `xft:Sans:size=14')
 define(`BIG_FONT', `xft:Sans:size=16')
@@ -37,36 +34,28 @@ define(`LARGE_FONT', `xft:Sans:size=18')
 define(`HUGE_FONT', `xft:Sans:size=20')
 
 dnl Bold TT fonts
 define(`HUGE_FONT', `xft:Sans:size=20')
 
 dnl Bold TT fonts
-define(`SMALL_BOLD_FONT', `SMALL_FONT:Bold')
-define(`MEDIUM_BOLD_FONT', `MEDIUM_FONT:Bold')
-define(`BIG_BOLD_FONT', `BIG_FONT:Bold')
+define(`SMALL_BOLD_FONT', SMALL_FONT`:Bold')
+define(`MEDIUM_BOLD_FONT', MEDIUM_FONT`:Bold')
+define(`BIG_BOLD_FONT', BIG_FONT`:Bold')
 
 
+define(`TITLE_FONT', MEDIUM_FONT)
+define(`ICON_FONT', LARGE_FONT)
 
 dnl Font and geometry aliases that depend on whether the screen resolution is
 dnl 800x600, 1024x768 or 1920x1200
 
 
 dnl Font and geometry aliases that depend on whether the screen resolution is
 dnl 800x600, 1024x768 or 1920x1200
 
-define(`TITLE_FONT', `MEDIUM_FONT')
-
-define(`ICON_FONT', `LARGE_FONT')
-
-
 define(`PAGER_GEOM',
 define(`PAGER_GEOM',
-`ifelse(eval(WIDTH < 1024), 1, `365x100+0+0',dnl
-`ifelse(eval(WIDTH < 1920), 1, `365x100+0+0', `600x160+0+0'dnl
-)')'dnl
-)
-
-define(`PAGER_FONT',
-`ifelse(eval(WIDTH < 1920), 1, `SMALL_FONT', `BIG_FONT'dnl
-)')
+ifelse(eval(WIDTH < 1024), 1, `365x100+0+0',
+       eval(WIDTH < 1920), 1, `365x100+0+0', `600x160+0+0'))
+
+define(`SMALL_PAGER_FONT', ifelse(eval(WIDTH < 1920), 1, VERY_SMALL_FONT, SMALL_FONT))
+define(`PAGER_FONT', ifelse(eval(WIDTH < 1920), 1, SMALL_FONT, BIG_FONT))
 define(`BUTTONS_FONT', PAGER_FONT)
 
 
 define(`MENU_FONT',
 define(`BUTTONS_FONT', PAGER_FONT)
 
 
 define(`MENU_FONT',
-`ifelse(eval(WIDTH < 1024), 1, `xft:Helvetica:size=16',dnl
-`ifelse(eval(WIDTH < 1920), 1, `xft:Helvetica:size=18', `xft:Helvetica:size=22'dnl
-)')'dnl
-)
+ifelse(eval(WIDTH < 1024), 1, `xft:Helvetica:size=16',
+       eval(WIDTH < 1920), 1, `xft:Helvetica:size=18', `xft:Helvetica:size=22'))
 define(`IDENT_FONT', MENU_FONT)
 define(`WIN_LIST_FONT', MENU_FONT)
 define(`ICON_BOX_FONT', MENU_FONT)
 define(`IDENT_FONT', MENU_FONT)
 define(`WIN_LIST_FONT', MENU_FONT)
 define(`ICON_BOX_FONT', MENU_FONT)
@@ -74,29 +63,23 @@ define(`ICON_BOX_FONT', MENU_FONT)
 
 dnl XSetBg message width and font
 define(`TEXT_WIDTH',
 
 dnl XSetBg message width and font
 define(`TEXT_WIDTH',
-`ifelse(eval(WIDTH < 1024), 1, 70,dnl
-`ifelse(eval(WIDTH < 1920), 1, 75, 80 dnl
-)')'dnl
-)
+ifelse(eval(WIDTH < 1024), 1, 70,
+       eval(WIDTH < 1920), 1, 75, 80))
 
 
-define(`MESSAGE_FONT', `Nimbus Sans L 18')'dnl
+define(`MESSAGE_FONT', `Nimbus Sans L 18')
 
 
 dnl Terminal emulator
 define(`TERM_GEOM',
 
 
 dnl Terminal emulator
 define(`TERM_GEOM',
-`ifelse(eval(WIDTH < 1024), 1, `80x25',dnl
-`ifelse(eval(WIDTH < 1920), 1, `80x30', `80x32'dnl
-)')'dnl
-)
+ifelse(eval(WIDTH < 1024), 1, `80x25',
+       eval(WIDTH < 1920), 1, `80x30', `80x32'))
 
 
-define(`TERM_GEOM_BOTLT', `TERM_GEOM+0-0')'dnl
-define(`TERM_GEOM_BOTRT', `TERM_GEOM-0-0')'dnl
+define(`TERM_GEOM_BOTLT', TERM_GEOM`+0-0')
+define(`TERM_GEOM_BOTRT', TERM_GEOM`-0-0')
 
 define(`TERM_GEOM_BIG',
 
 define(`TERM_GEOM_BIG',
-`ifelse(eval(WIDTH < 1024), 1, `96x30',dnl
-`ifelse(eval(WIDTH < 1920), 1, `112x32', `126x35'dnl
-)')'dnl
-)
+ifelse(eval(WIDTH < 1024), 1, `96x30',
+       eval(WIDTH < 1920), 1, `112x32', `126x35'))
 
 
 define(`TERM', `urxvt')
 
 
 define(`TERM', `urxvt')
@@ -109,61 +92,47 @@ define(`TERM_UTF8_BOTRT', `Exec exec "$HOME"/lib/X11/utf8rxvt -geometry TERM_GEO
 
 
 define(`REMOTE_HOST_KOI8',
 
 
 define(`REMOTE_HOST_KOI8',
-TERM_KOI8 -title "$2" -n "$2" -e ssh -4 "$1"dnl
-)
+TERM_KOI8 -title "$2" -n "$2" -e ssh -4 "$1")
 
 define(`REMOTE_HOST_KOI8_MENU',
 
 define(`REMOTE_HOST_KOI8_MENU',
-"$2 (koi8)" REMOTE_HOST_KOI8($1, $2)dnl
-)
+"$2 (koi8)" REMOTE_HOST_KOI8($1, $2))
 
 define(`REMOTE_HOST_KOI8_BOTLT',
 
 define(`REMOTE_HOST_KOI8_BOTLT',
-TERM_KOI8_BOTLT -title "$2" -n "$2" -e ssh -4 "$1"dnl
-)
+TERM_KOI8_BOTLT -title "$2" -n "$2" -e ssh -4 "$1")
 
 define(`REMOTE_HOST_KOI8_BOTRT',
 
 define(`REMOTE_HOST_KOI8_BOTRT',
-TERM_KOI8_BOTRT -title "$2" -n "$2" -e ssh -4 "$1"dnl
-)
+TERM_KOI8_BOTRT -title "$2" -n "$2" -e ssh -4 "$1")
 
 define(`REMOTE_HOST_KOI8_BOTLT_MENU',
 
 define(`REMOTE_HOST_KOI8_BOTLT_MENU',
-"$2 (koi8,btlt)" REMOTE_HOST_KOI8_BOTLT($1, $2)dnl
-)
+"$2 (koi8,btlt)" REMOTE_HOST_KOI8_BOTLT($1, $2))
 
 define(`REMOTE_HOST_KOI8_BOTRT_MENU',
 
 define(`REMOTE_HOST_KOI8_BOTRT_MENU',
-"$2 (koi8,btrt)" REMOTE_HOST_KOI8_BOTRT($1, $2)dnl
-)
+"$2 (koi8,btrt)" REMOTE_HOST_KOI8_BOTRT($1, $2))
 
 define(`REMOTE_HOST_UTF8',
 
 define(`REMOTE_HOST_UTF8',
-TERM_UTF8 -e ssh -4 "$1"dnl
-)
+TERM_UTF8 -e ssh -4 "$1")
 
 define(`REMOTE_HOST_UTF8_MENU',
 
 define(`REMOTE_HOST_UTF8_MENU',
-"$2 (utf8)" REMOTE_HOST_UTF8($1, $2)dnl
-)
+"$2 (utf8)" REMOTE_HOST_UTF8($1, $2))
 
 define(`REMOTE_HOST_UTF8_BOTLT',
 
 define(`REMOTE_HOST_UTF8_BOTLT',
-TERM_UTF8_BOTLT -e ssh -4 "$1"dnl
-)
+TERM_UTF8_BOTLT -e ssh -4 "$1")
 
 define(`REMOTE_HOST_UTF8_BOTRT',
 
 define(`REMOTE_HOST_UTF8_BOTRT',
-TERM_UTF8_BOTRT -e ssh -4 "$1"dnl
-)
+TERM_UTF8_BOTRT -e ssh -4 "$1")
 
 define(`REMOTE_HOST_UTF8_BOTLT_MENU',
 
 define(`REMOTE_HOST_UTF8_BOTLT_MENU',
-"$2 (utf8,btlt)" REMOTE_HOST_UTF8_BOTLT($1, $2)dnl
-)
+"$2 (utf8,btlt)" REMOTE_HOST_UTF8_BOTLT($1, $2))
 
 define(`REMOTE_HOST_UTF8_BOTRT_MENU',
 
 define(`REMOTE_HOST_UTF8_BOTRT_MENU',
-"$2 (utf8,btrt)" REMOTE_HOST_UTF8_BOTRT($1, $2)dnl
-)
+"$2 (utf8,btrt)" REMOTE_HOST_UTF8_BOTRT($1, $2))
 
 define(`REMOTE_HOST_KOI8_BIG',
 
 define(`REMOTE_HOST_KOI8_BIG',
-TERM_KOI8 -geometry TERM_GEOM_BIG -title "$2" -n "$2" -e ssh -4 "$1"dnl
-)
+TERM_KOI8 -geometry TERM_GEOM_BIG -title "$2" -n "$2" -e ssh -4 "$1")
 
 define(`REMOTE_HOST_KOI8_BIG_MENU',
 
 define(`REMOTE_HOST_KOI8_BIG_MENU',
-"$2 (koi8)" REMOTE_HOST_KOI8_BIG($1, $2)dnl
-)
-
+"$2 (koi8)" REMOTE_HOST_KOI8_BIG($1, $2))
+divert
 
 ##########################################################################
 # PATH Setup
 
 ##########################################################################
 # PATH Setup
@@ -183,7 +152,7 @@ Style * Color Black/#60a0c0
 
 # Set colors/font for pop-up menus
 # Syntax: MenuStyle forecolor backcolor shadecolor font style(fvwm/mwm)
 
 # Set colors/font for pop-up menus
 # Syntax: MenuStyle forecolor backcolor shadecolor font style(fvwm/mwm)
-MenuStyle * FVWM, Foreground Black, Background grey, Greyed SlateGrey, Font MENU_FONT fvwm
+MenuStyle * FVWM, Foreground Black, Background grey, Greyed SlateGrey, Font MENU_FONT
 
 # Set fonts to use on title bar and icon label
 Style * Font              TITLE_FONT
 
 # Set fonts to use on title bar and icon label
 Style * Font              TITLE_FONT
@@ -251,7 +220,6 @@ DesktopSize 2 2
 #
 Style * PositionPlacement Center
 
 #
 Style * PositionPlacement Center
 
-
 ############################################################################
 # STYLE Flag Setup
 #
 ############################################################################
 # STYLE Flag Setup
 #
@@ -394,7 +362,6 @@ ButtonStyle 3 12 10x23@0 90x23@0 90x28@0 10x28@1 10x47@1 90x47@0 90x52@0 10x52@1
 # the number "2"
 #ButtonStyle 8 12 80x80@0 22x80@0 80x40@0 70x25@0 30x25@0 20x35@0 20x30@1 30x20@1 70x20@1 80x30@1 20x75@1 80x75@1
 
 # the number "2"
 #ButtonStyle 8 12 80x80@0 22x80@0 80x40@0 70x25@0 30x25@0 20x35@0 20x30@1 30x20@1 70x20@1 80x30@1 20x75@1 80x75@1
 
-
 ############################################################################
 # MOUSE Setup
 #
 ############################################################################
 # MOUSE Setup
 #
@@ -478,20 +445,31 @@ Key 8           A       CM      GotoPage 1 1
 #############################################################################
 # START-UP Functions
 #
 #############################################################################
 # START-UP Functions
 #
-AddToFunc "InitFunction"
+DestroyFunc InitFunction
+AddToFunc InitFunction
 +              I Module FvwmBacker
 +              I Module FvwmButtons
 +              I Module FvwmCommandS
 +              I Module FvwmPager 0 2
 
 +              I Module FvwmBacker
 +              I Module FvwmButtons
 +              I Module FvwmCommandS
 +              I Module FvwmPager 0 2
 
-AddToFunc "RestartFunction"
+DestroyFunc RestartFunction
+AddToFunc RestartFunction
 +              I Module FvwmBacker
 +              I Module FvwmButtons
 +              I Module FvwmCommandS
 +              I Module FvwmPager 0 2
 +              I Next [!iconic CurrentScreen xterm] Focus
 
 +              I Module FvwmBacker
 +              I Module FvwmButtons
 +              I Module FvwmCommandS
 +              I Module FvwmPager 0 2
 +              I Next [!iconic CurrentScreen xterm] Focus
 
-AddToFunc "StartStandardSession"
+DestroyFunc UrgencyFunc
+AddToFunc UrgencyFunc
++                             I Iconify off
++                             I ThisWindow ("*Downloads") Break
++                             I FlipFocus
++                             I Raise
++                             I WarpToWindow 5p 5p
+
+DestroyFunc StartStandardSession
+AddToFunc StartStandardSession
 +              I GotoDeskAndPage 0 0 0
 +              I TERM_KOI8
 +              I Wait TERM
 +              I GotoDeskAndPage 0 0 0
 +              I TERM_KOI8
 +              I Wait TERM
@@ -528,47 +506,61 @@ DestroyFunc Center
 AddToFunc Center                I Move 50-50w 50-50w
 +                               I WarpToWindow 74p 18p
 
 AddToFunc Center                I Move 50-50w 50-50w
 +                               I WarpToWindow 74p 18p
 
+DestroyFunc Iconify-and-Raise
 AddToFunc Iconify-and-Raise     I Iconify
 +                               I Raise
 
 AddToFunc Iconify-and-Raise     I Iconify
 +                               I Raise
 
+DestroyFunc Maximize-Func
 AddToFunc Maximize-Func         C Maximize     toggle
 +                               D Maximize     100 100
 
 AddToFunc Maximize-Func         C Maximize     toggle
 +                               D Maximize     100 100
 
+DestroyFunc Move-or-Iconify
 AddToFunc Move-or-Iconify       I Raise
 +                               M Move
 +                               D Iconify
 
 AddToFunc Move-or-Iconify       I Raise
 +                               M Move
 +                               D Iconify
 
+DestroyFunc Move-or-Raise
 AddToFunc Move-or-Raise         I Raise
 +                               M Move
 +                               D Lower
 
 AddToFunc Move-or-Raise         I Raise
 +                               M Move
 +                               D Lower
 
+DestroyFunc Move-or-Raise2
 AddToFunc Move-or-Raise2        M Raise
 +                               M Move
 +                               D Lower
 
 AddToFunc Move-or-Raise2        M Raise
 +                               M Move
 +                               D Lower
 
+DestroyFunc Resize-or-Raise
 AddToFunc Resize-or-Raise       I Raise
 +                               M Resize
 +                               D Lower
 
 AddToFunc Resize-or-Raise       I Raise
 +                               M Resize
 +                               D Lower
 
+DestroyFunc Resize-or-Raise2
 AddToFunc Resize-or-Raise2      M Raise
 +                               M Resize
 +                               D Lower
 
 AddToFunc Resize-or-Raise2      M Raise
 +                               M Resize
 +                               D Lower
 
+DestroyFunc Shadify
 AddToFunc Shadify               D WindowShade
 +                               M Move
 +                               C RaiseLower
 
 AddToFunc Shadify               D WindowShade
 +                               M Move
 +                               C RaiseLower
 
+DestroyFunc warp-or-run
 AddToFunc warp-or-run           I Next [$0 CirculateHit] Iconify -1
 +                               I Next [$0 CirculateHit] Focus
 +                               I None [$0] $1
 
 AddToFunc warp-or-run           I Next [$0 CirculateHit] Iconify -1
 +                               I Next [$0 CirculateHit] Focus
 +                               I None [$0] $1
 
+DestroyFunc MailFunction
 AddToFunc MailFunction          I Next [$0] Iconify -1
 +                               I Next [$0] focus
 +                               I None [$0] Exec exec $0 $1
 
 AddToFunc MailFunction          I Next [$0] Iconify -1
 +                               I Next [$0] focus
 +                               I None [$0] Exec exec $0 $1
 
+DestroyFunc PrintFunction
 AddToFunc PrintFunction         I Raise
 +                               I Exec exec xdpr -id $w
 
 AddToFunc PrintFunction         I Raise
 +                               I Exec exec xdpr -id $w
 
+DestroyFunc Raise-All
+AddToFunc Raise-All           I All (!"FvwmButtons|System|*clock") Raise
+
 ##############################################################################
 # User-defined functions
 #
 ##############################################################################
 # User-defined functions
 #
@@ -614,17 +606,6 @@ DestroyFunc Pidgin
 AddToFunc Pidgin              I GotoDeskAndPage 1 1 0
 +                             I Exec exec pidgin
 
 AddToFunc Pidgin              I GotoDeskAndPage 1 1 0
 +                             I Exec exec pidgin
 
-DestroyFunc Raise-All
-AddToFunc Raise-All           I All (!"FvwmButtons|System|*clock") Raise
-
-DestroyFunc UrgencyFunc
-AddToFunc UrgencyFunc
-+                             I Iconify off
-+                             I ThisWindow ("*Downloads") Break
-+                             I FlipFocus
-+                             I Raise
-+                             I WarpToWindow 5p 5p
-
 ##############################################################################
 # MENU Setup
 #
 ##############################################################################
 # MENU Setup
 #
@@ -647,7 +628,7 @@ AddToMenu Window-Ops    "Window Ops"    Title
 +                       "Refresh Screen" Refresh
 
 # A trimmed down version of "Window Ops", good for binding to decorations
 +                       "Refresh Screen" Refresh
 
 # A trimmed down version of "Window Ops", good for binding to decorations
-DestroyMenu "Window-Ops2"
+DestroyMenu Window-Ops2
 AddToMenu Window-Ops2   "Center"        Center
 +                       "Move"          Move-or-Raise
 +                       "Iconify"       Iconify
 AddToMenu Window-Ops2   "Center"        Center
 +                       "Move"          Move-or-Raise
 +                       "Iconify"       Iconify
@@ -887,7 +868,6 @@ changequote([`], ['])
 # Background
 #*FvwmButtons: Pixmap fvwm.xpm
 
 # Background
 #*FvwmButtons: Pixmap fvwm.xpm
 
-
 # Define the buttons to use.....
 #*FvwmButtons: Move              arrows2.xpm     Move
 #*FvwmButtons: Kill              skull.xpm       Destroy
 # Define the buttons to use.....
 #*FvwmButtons: Move              arrows2.xpm     Move
 #*FvwmButtons: Kill              skull.xpm       Destroy
@@ -907,7 +887,6 @@ changequote([`], ['])
 #*FvwmButtons: Real    bell.xpm    Exec cd /opt/audio && exec realplay
 #*FvwmButtons: Kill    rbomb.xpm    Destroy
 
 #*FvwmButtons: Real    bell.xpm    Exec cd /opt/audio && exec realplay
 #*FvwmButtons: Kill    rbomb.xpm    Destroy
 
-
 # Buttons
 *FvwmButtons: (Title Term,     Icon rterm2.xpm,      Action TERM_KOI8)
 *FvwmButtons: (Title UTF-8,    Icon rterm2.xpm,      Action TERM_UTF8)
 # Buttons
 *FvwmButtons: (Title Term,     Icon rterm2.xpm,      Action TERM_KOI8)
 *FvwmButtons: (Title UTF-8,    Icon rterm2.xpm,      Action TERM_UTF8)
@@ -1075,7 +1054,7 @@ changequote([`], ['])
 *FvwmPager: Label 0 System
 *FvwmPager: Label 1 Net
 *FvwmPager: Label 2 Work
 *FvwmPager: Label 0 System
 *FvwmPager: Label 1 Net
 *FvwmPager: Label 2 Work
-*FvwmPager: SmallFont PAGER_FONT
+*FvwmPager: SmallFont SMALL_PAGER_FONT
 
 *FvwmPager: Balloons All
 *FvwmPager: BalloonBack #efe3b5
 
 *FvwmPager: Balloons All
 *FvwmPager: BalloonBack #efe3b5