FVWMBUTTONS(1) Fvwm Modules FVWMBUTTONS(1) (NAME) FvwmButtons - fvwm (SYNOPSIS) Module FvwmButtons [-g geometry] [-transient | -transientpanel] [name[configfile]] FvwmButtons fvwm . FvwmButtons . (DESCRIPTION) FvwmButtons (root window) X . . FvwmButtons fvwm . (geometry) . ('swallowed'). . CREATING PANELS . (OPTIONS) -g . . -transient FvwmButtons ( ) (respawn) . . . -transient (transient) . -transientpanel -transient . . (INVOCATION) FvwmButtons fvwm . FvwmButtons 'Module FvwmButtons OptionalName' .fvwm2rc . FvwmButtons fvwm StartFunction . . OptionalName OptionalName . : AddToFunc StartFunction Module FvwmButtons MyButtonBox FvwmButtons "*FvwmButtons" "*MyButtonBox" . (CONFIGURATION OPTIONS) FvwmButtons : *FvwmButtons: Back color . (relief) . *FvwmButtons: BoxSize algorithm FvwmButtons Rows Columns ( ). dumb fixed smart . fixed Rows Columns FvwmButtons . . smart FvwmButtons . . smart . dumb fixed smart. . *FvwmButtons: Colorset colorset colorset . fvwm . *FvwmButtons: ActiveColorset colorset colorset / / . *FvwmButtons: PressColorset colorset colorset / / . *FvwmButtons: Columns columns . . BoxSize fixed . *FvwmButtons: File filename filename . Filename fvwm . fvwm "*FvwmButtons" . "#" . "\" . *FvwmButtons: Font font None . *FvwmButtons: Fore color . *FvwmButtons: Frame width . . . *FvwmButtons: Geometry geometry FvwmButtons . X11 . *FvwmButtons: ButtonGeometry geometry Geometry . FvwmButtons . *FvwmButtons: Padding width height width height . . *FvwmButtons: Pixmap pixmapfile pixmap . "none" ( ) . *FvwmButtons: Rows rows . . *FvwmButtons: WindowName name FvwmButtons Title style ( ) (Window name) (Icon name) . "FvwmButtons" FvwmButtons . ASCII FvwmButtons . *FvwmButtons: (options) [title icon command] . (options) : geometry FvwmButtons . X11 . width height . x y x (y) () x (y) x (y) () x (y) . (x y) . FvwmButtons . Action [(options)] command fvwm return . command . Action : Mouse n - n . . command : $left $right $top $bottom . $-left $-right $-top $-bottom ( $-right ). $width $height . $fg $bg Back Fore ( ). . '$' '$$' . : *FvwmButtons: (Title xload, Action (Mouse 1) \ `Exec exec xload -fg $fg -bg $bg -geometry -3000-3000`) : fvwm 2.5.0 ( Swallow ). . ActionIgnoresClientWindow : *FvwmButtons: (Action beep, ActionIgnoresClientWindow, \ Swallow xeyes "Exec exec xeyes") xeyes xeyes. ActionIgnoresClientWindow Action . ActionOnPress Popup. . Menu SendToModule Frame 0 . Back color . . Center . Left Right . Top . . Colorset colorset . . X . . . . : xosview xload VGradient xclock . fvwm ( (No)FvwmModule Swallow ) colorset . colorset . FvwmButtons ( ) . fvwm . ActiveColorset colorset colorset / / . PressColorset colorset colorset / / . Container [(options)] FvwmButtons . . Back Font Fore Frame Padding. Title Swallow Title(flags) Swallow(flags) . "Columns width" "Rows height" "Rows 2" . Sample configuration . ( ) Frame Padding . : *FvwmButtons: (2x2, Frame 5, Padding 2 2, Action Beep,\ Container(Frame 1)) widthx_height_ . End . : *FvwmButtons: (End) Font fontname fontname . Fore color . Frame width width . width . . Icon filename . FvwmButtons ImagePath fvwm . ActiveIcon filename . ActiveIcon Icon ( ). PressIcon filename . PressIcon Icon ( ). Id id . . <> . Left . . NoSize . . "NoSize" "Size 0 0" . Padding width height . width height . Panel [ (options) ] hangon command Swallow . . ( ) . (options) (flags) Swallow . 'left' 'right' 'up' 'down' . steps animation-steps . delay ms . . (10000) . smooth . smooth . . . . Hints FvwmButtons (size hints) . Hints . NoHints . noborder FvwmButtons ( noplr noptb position). indicator FvwmButtons . . indicator . FvwmButtons . Padding . indicator . in out ( ) . out . position . : position [context-window] [pos] [x y] [border-opts] context-window : Button Module Root. (context-window) . Button Module FvwmButtons Root . : /// ///. pos : center left right ( ) top bottom ( ). ( ) ( ) . pos left . x y . () . "p" "" . root. border-opts : mlr mtb noplr noptb. . FvwmButtons . mlr mtb . Panel . noplr noptb . . . 'Button center' . CREATING PANELS . : # To include the panel in a button *FvwmButtons: (Panel(down, delay 0, steps 16) \ SubPanel "Module FvwmButtons SubPanel") # To define the panel as an instance of # FvwmButtons with a different name: *SubPanel: (Icon my_lock.xpm, Action Exec xlock) *SubPanel: (Icon my_move.xpm, Action Move) ... Right . . Size width height FvwmButtons width height . FvwmButtons . . Swallow [(flags)] hangon command FvwmButtons command hangon . hangon ('*') . Swallow $fg $bg Action ( UseOld NoClose FvwmButtons ). : *FvwmButtons: (Swallow XClock 'Exec xclock -geometry -3000-3000 &') "XClock" . "Exec" . "-geometry -3000-3000" FvwmButtons . 'Exec whatever' : *FvwmButtons: (Swallow "FvwmPager" "FvwmPager 0 0") swallow : NoClose / Close - FvwmButtons . "NoClose" "UseOld" . "Close" . NoHints / Hints - (hints) . "Hints" . NoKill / Kill - (kill) . . "NoKill" . "NoClose" . NoRespawn / Respawn / SwallowNew - (respawn) . "Respawn" command . . "SwallowNew" . NoOld / UseOld - command hangon . hangon ('*') . "NoOld" . "UseOld" "NoKill" . FvwmButtons command "Nop" : *FvwmButtons: (Swallow (UseOld) "Console" Nop) : *FvwmButtons: (Swallow (UseOld) "Console" Nop, \ Action `Exec "Console" console &`) NoTitle / UseTitle - . "UseTitle" . "NoTitle" . NoFvwmModule / FvwmModule - FvwmButtons command "Fvwm" command "Module" fvwm . NoFvwmModule FvwmModule . Title [(options)] name . . . justify "Right" . (options) Title : Center - . . Left - . Right - . Side - ( ) . "Left" "Right" fvwm . ActiveTitle name . ActiveTitle Title ( ). PressTitle name . PressTitle Title ( ). (Legacy fields) [title icon command] FvwmButtons . title Title name . "-" . icon Icon filename . "-" . command Action command Swallow "hangon" command . (The command) fvwm FvwmButtons . fvwm(1) . Exec Actions : Exec ["hangon"] command : *FvwmButtons: (Action Exec "xload" xload) hangon . FvwmButtons Exec . . hangon ('*') . . . (Quoting) . . . ',' ')' . : 'This is a "quote"', : "It's another `quote'", (): This is a strange quote. : #define BG gray60 *FvwmButtons: (Swallow "xload" `Exec xload -bg BG &`) '\' ( ). FvwmButtons ( fvwm 2.0.46 2.3.6) . . << (CONVERTING OLD PANEL CONFIGURATIONS)>> . (HOW TO CREATE NEW PANELS) fvwm . xload xosview fvwm FvwmButtons. fvwm . . Panel : *FvwmButtons: (Panel my_first_panel \ "Module FvwmButtons -g -30000-30000 my_first_panel") *FvwmButtons: (Panel my_second_panel \ "Exec exec xterm -g -30000-30000 -n my_second_panel") Swallow . . . '-g -30000-30000' . FvwmButtons . . FvwmButtons ('my_first_panel' ). FvwmButtons FvwmButtons ! '*new_name' '*FvwmButtons' . Swallow <<>> (swallowing) Swallow . . . Style fvwm . ('sticky') . . Style name_of_panel_window NoTitle, Sitcky, NoIcon . -transientpanel -g FvwmButtons . FvwmPager '-transient' . . . 'Panel' '(indicator)' Padding . : *FvwmButtons: (Padding 2, Panel(down, indicator) my_first_panel \ "Module FvwmButtons -g -30000-30000 -transientpanel my_first_panel") . Panel . (CONVERTING OLD PANEL CONFIGURATIONS) 2.2.x . . FvwmButtons : ... *FvwmButtons(Title WinOps,Panel WinOps) *FvwmButtons(Title Tools ,Panel Tools) ... *FvwmButtonsPanel : *FvwmButtonsPanel WinOps *FvwmButtonsBack bisque2 ... *FvwmButtonsPanel Tools *FvwmButtonsBack bisque2 ... Style : Style FvwmButtonsPanel Title, NoHandles, BorderWidth 0 Style FvwmButtonsPanel NoButton 2, NoButton 4, Sticky . Swallow . FvwmButtons . *FvwmButtons: (Title WinOps, Panel WinOps \ "Module FvwmButtons WinOps") *FvwmButtons: (Title Tools , Panel Tools \ "Module FvwmButtons Tools") 'Panel-d' 'Panel(down)' . FvwmButtons '-transientpanel' : *FvwmButtons: (Title Tools , Panel(down) Tools \ "Module FvwmButtons -transientpanel Tools") . '*FvwmButtonsPanel ' . Style : *WinOps: Back bisque2 ... *Tools: Back bisque2 ... Style "WinOps" Title, NoHandles, BorderWidth 0 Style "WinOps" NoButton 2, NoButton 4, Sticky Style "Tools" Title, NoHandles, BorderWidth 0 Style "Tools" NoButton 2, NoButton 4, Sticky . . ..SS " (WHY WAS THE PANEL FEATURE REWRITTEN?)" . . FvwmButtons . - . ( ) . . FvwmButtons FvwmButtons. . - Swallow . (ARRANGEMENT ALGORITHM) FvwmButtons (container) (buttonbox) . ( ) . . rows columns . columns . . . BoxSize smart / / fixed rows columns . . : (fixed) (floating). x/y (slot) . . . FvwmButtons . . . . . BoxSize smart . (Containers) . : (2x2) . . . 1) +---+---+---+ 2) +---+---+---+ 3) +---+---+---+ | 1 | | | 1 | | | 1 | | +---+ + +---+ 2 + +---+ 2 + | | | | | | 3 | | + + + +---+---+ +---+---+---+ | | | | | | | | +-----------+ +---+-------+ +---+---+---+ 4) +---+---+---+ 5) +---+-------+ 6) +---+-------+ | 1 | | | 1 | | | 1 | | +---+ 2 + +---+ 2 | +---+ 2 | | 3 | | | 3 | | | 3 | | +---+---+---+ +---+---+---+ +---+-------+ | 4 | | | 4 | 5 | | | 4 | 5 | 6 | +---+---+---+ +---+---+---+ +---+---+---+ FvwmButtons (non-swallowing) . . (swallowed) . <> . FvwmButtons (relief) (padding) width height . (DYNAMICAL ACTIONS) FvwmButtons . fvwm : SendToModule FvwmButtons-Alias : ChangeButton button_id options . button_id Id . . button_id +x+y x y . ( ) . Title ActiveTitle PressTitle Colorset Icon ActiveIcon PressIcon . . ExpandButtonVars button_id command command Action fvwm . button_id ChangeButton . PressButton button_id [mouse_button] . button_id Id mouse_button "1" . . mouse_button . . Silent . . *FvwmButtons: (Id note1, Title "13:30 - Dinner", Icon clock1.xpm) SendToModule FvwmButtons Silent \ ChangeButton note1 Icon clock2.xpm, Title "18:00 - Go Home" .fvwm2rc FvwmButtons : ########################################################## # Load any modules which should be started during fvwm # initialization # Make sure FvwmButtons is always there. AddToFunc StartFunction "I" Module FvwmButtons # Make it titlebar-less, sticky, and give it an icon Style "FvwmButtons" Icon toolbox.xpm, NoTitle, Sticky # Make the menu/panel look like CDE Style "WinOps" Title, NoHandles, BorderWidth 0 Style "WinOps" NoButton 2, NoButton 4, Sticky Style "Tools" Title, NoHandles, BorderWidth 0 Style "Tools" NoButton 2, NoButton 4, Sticky ########################################################## DestroyModuleConfig FvwmButtons: * *FvwmButtons: Fore Black *FvwmButtons: Back rgb:90/80/90 *FvwmButtons: Geometry -135-5 *FvwmButtons: Rows 1 *FvwmButtons: BoxSize smart *FvwmButtons: Font -*-helvetica-medium-r-*-*-12-* *FvwmButtons: Padding 2 2 *FvwmButtons: (Title WinOps, Panel WinOps \ "Module FvwmButtons -transientpanel WinOps") *FvwmButtons: (Title Tools, Panel Tools \ "Module FvwmButtons -transientpanel Tools") *FvwmButtons: (Title Resize, Icon resize.xpm, Action Resize) *FvwmButtons: (Title Move, Icon arrows2.xpm, Action Move ) *FvwmButtons: (Title Lower, Icon Down, Action Lower ) *FvwmButtons: (Title Raise, Icon Up, Action Raise ) *FvwmButtons: (Title Kill, Icon bomb.xpm, Action Destroy) *FvwmButtons: (1x1,Container(Rows 3,Frame 1)) *FvwmButtons: (Title Dopey ,Action \ `Exec "big_win" xterm -T big_win -geometry 80x50 &`) *FvwmButtons: (Title Snoopy, Font fixed, Action \ `Exec "small_win" xterm -T small_win &`) *FvwmButtons: (Title Smokin') *FvwmButtons: (End) *FvwmButtons: (Title Xcalc, Icon rcalc.xpm, \ Action `Exec "Calculator" xcalc &`) *FvwmButtons: (Title XMag, Icon magnifying_glass2.xpm, \ Action `Exec "xmag" xmag &`) *FvwmButtons: (Title Mail, Icon mail2.xpm, \ Action `Exec "xmh" xmh &`) *FvwmButtons: (4x1, Swallow "FvwmPager" `FvwmPager 0 3` \ Frame 3) *FvwmButtons: (Swallow(UseOld,NoKill) "xload15" `Exec xload \ -title xload15 -nolabel -bg rgb:90/80/90 -update 15 \ -geometry -3000-3000 &`) - FvwmPager (swallow ). Pager (relief) . . UseOld NoKill "xload15" ( : ) FvwmButtons () . "-geometry -3000-3000" . (root panel) : ########## PANEL WinOps DestroyModuleConfig WinOps: * *WinOps: Back bisque2 *WinOps: Geometry -3-3 *WinOps: Columns 1 *WinOps: (Title Resize, Icon resize.xpm, Action Resize) *WinOps: (Title Move, Icon arrows2.xpm, Action Move ) *WinOps: (Title Lower, Icon Down, Action Lower ) *WinOps: (Title Raise, Icon Up, Action Raise ) ########## PANEL Tools DestroyModuleConfig Tools: * *Tools: Back bisque2 *Tools: Geometry -1-1 *Tools: Columns 1 *Tools: (Title Kill, Icon bomb.xpm, Action Destroy) rgb:90/80/90 X #908090 . (#) command (escape) fvwm . x/y () . . geometry : ########################################################## # Another example ########################################################## # Make it titlebar-less, sticky, and give it an icon Style "FvwmButtons" Icon toolbox.xpm, NoTitle, Sticky DestroyModuleConfig FvwmButtons: * *FvwmButtons: Font 5x7 *FvwmButtons: Back rgb:90/80/90 *FvwmButtons: Fore black *FvwmButtons: Frame 1 # 9x11 pixels per button, 4x4 pixels for the frame *FvwmButtons: Geometry 580x59+0-0 *FvwmButtons: Rows 5 *FvwmButtons: Columns 64 *FvwmButtons: BoxSize fixed *FvwmButtons: Padding 1 1 # Pop up a module menu directly above the button. *FvwmButtons: (9x1+3+0, Padding 0, Title "Modules", \ Action `Menu Modulepopup rectangle \ $widthx$height+$lleft+$top o+50 -100m`) # first row of buttons from left to right: *FvwmButtons: (3x2+0+1, Icon my_lock.xpm, Action `Exec xlock`) *FvwmButtons: (3x2+3+1, Icon my_recapture.xpm, Action Recapture) *FvwmButtons: (3x2+6+1, Icon my_resize.xpm, Action Resize) *FvwmButtons: (3x2+9+1, Icon my_move.xpm, Action Move) # second row of buttons from left to right: *FvwmButtons: (3x2+0+3, Icon my_exit.xpm, Action QuitSave) *FvwmButtons: (3x2+3+3, Icon my_restart.xpm, Action Restart) *FvwmButtons: (3x2+6+3, Icon my_kill.xpm, Action Destroy) *FvwmButtons: (3x2+9+3, Icon my_shell.xpm, Action 'Exec rxvt') # big items *FvwmButtons: (10x5, Swallow (NoKill, NoCLose) \ "FvwmPager" 'FvwmPager * * -geometry 40x40-1024-1024') *FvwmButtons: (6x5, Swallow "FvwmXclock" `Exec xclock \ -name FvwmXclock -geometry 40x40+0-3000 -padding 1 \ -analog -chime -bg rgb:90/80/90`) *FvwmButtons: (13x5, Swallow (NoClose) \ "FvwmIconMan" 'Module FvwmIconMan') *FvwmButtons: (20x5, Padding 0, Swallow "xosview" \ `Exec /usr/X11R6/bin/xosview -cpu -int -page -net \ -geometry 100x50+0-3000 -font 5x7`) action Swallow (whitespace) . (HISTORY) FvwmButtons Window Manager Robert Nation . FvwmGoodStuff FvwmButtons . (AUTHORS) Robert Nation (1993). Jarl Totland (1996) Jui-Hsuan Joshua Feng Scott Smedley. 2026-06-28 FVWMBUTTONS(1)