# Note that this is for fvwm version 1 not 2! # ########################################################################### # set up the colors # # OK some people like bright clear colors on their window decorations. # These people, I guess would mostly be from nice sunny/good weather places # line California. # # StdForeColor Black # StdBackColor LightSkyBlue # HiForeColor yellow # HiBackColor PeachPuff1 # PagerBackColor BlanchedAlmond # Me, I'm from Upstate New York, and live in New Hampshire, so I prefer # these dark muddy colors... # this is used for non-selected windows, menus, and the panner StdForeColor Black StdBackColor #60a0c0 # this is used for the selected window HiForeColor #60a0c0 HiBackColor DarkRed PagerBackColor #5c54c0 PagerForeColor orchid StickyForeColor Black StickyBackColor #60c0a0 # Menu colors MenuForeColor Black MenuBackColor grey MenuStippleColor SlateGrey ############################################################################ # Now the fonts - one for menus, another for window titles, another for icons #Font -ult1mo-verdana-medium-*-*-*-16-*-*-*-*-*-*-* #Font -ult1mo-moulin rouge-*-*-*-*-18-*-*-*-*-*-*-* Font -misc-meath-*-*-*-*-24-*-*-*-*-*-*-* #WindowFont -misc-crillee-medium-*-*-*-14-*-*-*-*-*-adobe-* WindowFont -b&h-lucida-bold-*-*-*-15-*-*-*-*-*-*-* IconFont fixed #Font -adobe-helvetica-medium-r-*-*-14-*-*-*-*-*-*-* #WindowFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* #IconFont fixed ########################################################################### # Set up the major operating modes # ######################## FOCUS STUFF ############################## # Set windows to auto-raise after 750 milliseconds if you like it. # Autoraise can sometimes obscure pop-up windows. Performance is now # similar to olvwm's auto-raise feature. #AutoRaise 750 # Normally, we'll be in focus-follows mouse mode, but uncomment this # for mwm-style click-to-focus #ClickToFocus SloppyFocus ######################## ICON STUFF ############################## # Auto Place Icons is a nice feature.... # This creates two icon boxes, one on the left side, then one on the # bottom. Leaves room in the upper left for my clock and xbiff, # room on the bottom for the Pager. IconBox -150 90 -5 -140 IconBox 5 -140 -140 -5 #IconBox -70 1 -1 -140 # If you uncomment this, and make sure that the WindowList is bound to # something, it works pretty much like an icon manager. #SuppressIcons # StubbornIcons makes icons de-iconify into their original position on the # desktop, instead of on the current page. #StubbornIcons # With AutoPlacement, icons will normally place themselves underneath active # windows. This option changes that. #StubbornIconPlacement # If you want ALL you icons to follow you around the desktop (Sticky), try # this StickyIcons ######################## MWM EMULATION ####################### # # My feeling is that everyone should use MWMDecorHints and MWMFunctionHints, # since some applications depend on having the window manager respect them # MWMFunction hints parses the function information in the MOTIF_WM_HINTS # property, and prohibits use of these functions on the window. Appropriate # portions of the window decorations are removed. MWMFunctionHints # MWM is kinda picky about what can be done to transients, and it was keeping # me from iconifying some windows that I like to iconify, so here's an # over-ride that will allow me to do the operation, even tough the menu # item is shaded out. MWMHintOverride # MWMDecor hints parses the decoration information in the MOTIF_WM_HINTS # property, and removes these decoratons from the window. This does not affect # the functions that can be performed via the menus. MWMDecorHints # These are affect minor aspects for the look-and-feel. # Sub-menus placement mwm-style? # MWMMenus # mwm-style border reliefs (less deep than default fvwm) ? # MWMBorders # Maximize button does mwm-inversion thingy # MWMButtons ######################## MISCELLANEOUS STUFF ####################### # If you don't like the default 150 msec click delay for the complex functions # change this and uncomment it. ClickTime 150 # OpaqueMove has a number (N) attached to it (default 5). # if the window occupies less than N% of the screen, # then opaque move is used. 0 <= N <= 100 OpaqueMove 100 # flip by whole pages on the edge of the screen. EdgeScroll 0 0 # A modest delay before flipping pages seems to be nice... # I thresh in a 50 pixel Move-resistance too, just so people # can try it out. #EdgeResistance 250 50 # I like to use a large virtual screen and move from page to page with the # pager. EdgeResistance 10000 0 ######################## WINDOW PLACEMENT ####################### # RandomPlacement prevents user interaction while placing windows: RandomPlacement # SmartPlacement makes new windows pop-up in blank regions of screen # if possible, or falls back to random or interactive placement. SmartPlacement # With SmartPlacement, windows will normally place themselves over icons. # Uncomment this to change that. #StubbornPlacement # NoPPosition instructs fvwm to ignore the PPosition field in window # geometry hints. Emacs annoyingly sets PPosition to (0,0)! #NoPPosition ######################## DECORATIONS ####################### # If you want decorated transient windows, uncomment this: #DecorateTransients ########################################################################### # Set up the virtual desktop and pager #set the desk top size in units of physical screen size DeskTopSize 8x8 # and the reduction scale used for the panner/pager # use number of screens squared * 11 # 8x8 == 8*11 == 88 # 12x12 == 12*11 == 132 # tested to 100x100 but not very useable DeskTopScale 132 # Use the Fvwm Pager # Pager -5 -5 # Pager 71x57+0+0 Pager 0 0 # Pager 122x96+0+0 ########################################################################## # Module path and paths to the icons # # ModulePath is a colon-separated list, just like regular unix PATH ModulePath /usr/X11R6/lib/X11/fvwm PixmapPath /usr/include/X11/pixmaps/ IconPath /usr/include/X11/bitmaps/ ############################################################################ # Set the decoration styles and window options # Order is important!!!! # If compatible styles are set for a single window in multiple Style # commands, then the styles are ORed together. If conflicting styles # are set, the last one specified is used. # These commands should command before any menus or functions are defined, # and before the internal pager is started. # change the default width. Style "*" BorderWidth 5, HandleWidth 5, Color Black/#60a0c0,Icon unknown1.xpm Style "gkrellm" Sticky, WindowListSkip Style "Gkrellm" Sticky, WindowListSkip Style "< unknown >" Notitle, NoHandles, BorderWidth 0, StaysOnTop Style "" Notitle, NoHandles, BorderWidth 0, StaysOnTop Style "XMMS_Player" Notitle, Sticky #Style "audacious" Notitle, Sticky Style "* - Audacious" Notitle, Sticky Style "Audacious" Notitle, Sticky Style "Audacious *" Notitle, Slippery Style "playlist" Notitle, Slippery # Style "xmms" Notitle, Sticky Style "x11amp" WindowListSkip, Notitle, Sticky Style "XMMS_Playlist" Style "Licq" Notitle, Sticky, WindowListSkip Style "licq" Notitle, Sticky, WindowListSkip Style "Fvwm*" NoTitle, Sticky, WindowListSkip Style "XOsview" Sticky, WindowListSkip Style "XLogo" Sticky, WindowListSkip, Notitle, StaysPut #Style "Playlists" Sticky, Notitle Style "xosview" Sticky, WindowListSkip Style "xosview*" Sticky, WindowListSkip Style "Coolmail" NoTitle, Sticky, WindowListSkip Style "gnubiff" NoTitle, Sticky, WindowListSkip Style "Notifier" NoTitle, Sticky, WindowListSkip Style "notifier" NoTitle, Sticky, WindowListSkip #Style "Fvwm Pager" StaysOnTop Style "FvwmBanner" StaysOnTop Style "QEMU" StaysOnTop Style "GoodStuff" NoTitle, NoHandles, Sticky, ,BorderWidth 0 Style "Freevo*" NoTitle, NoHandles, Sticky, ,BorderWidth 0 Style "*lock" NoTitle, NoHandles, Sticky, Style "xbiff" NoTitle, Sticky, Style "xconsole" Notitle, Sticky Style "xeyes" NoTitle, Sticky, , BorderWidth 0 Style "xload" NoTitle, Sticky , WindowListSkip Style "xmemuse" NoTitle, Sticky Style "rxvt" Icon term.xpm Style "xterm" Icon xterm.xpm Style "Appointment" Icon datebook.xpm Style "xcalc" Icon xcalc.xpm Style "xbiff" Icon mail1.xpm Style "xmh" Icon mail1.xpm Style "xman" Icon xman.xpm Style "xvgr" Icon graphs.xpm Style "matlab" Icon math4.xpm Style "xmag" Icon mag_glass.xpm Style "xgraph" Icon graphs.xpm Style "GoodStuff" Icon toolbox.xpm Style "trayer" Sticky, WindowListSkip Style "CSSH:*" NoTitle, NoHandles #Style "Wine" Title Style "Wallpapers*" Title Style "News Rover*" Title, Handles Style "NewsRover*" Title, Handles #Style "laika2???TigerVNC" NoTitle, NoHandles, BorderWidth 0, Slippery Style "*" Lenience ############################################################################# # Stuff to do at start-up Function "InitFunction" # Module "I" FvwmBanner # Exec "I" xpmroot /usr/include/X11/pixmaps/fvwm.xpm & #Module "I" GoodStuff # Module "I" FvwmPager 0 0 # Exec "I" exec xterm -bdc -geometry 80x64+0+0 & # Wait "I" xterm # Desk "I" 0 2 # Exec "I" exec xmh -font fixed -geometry 507x750+0+0 & # Wait "I" xmh # Desk "I" 0 0 EndFunction Function "RestartFunction" # Exec "I" xsetroot -solid "#266294" #Module "I" GoodStuff # Module "I" FvwmPager 0 0 EndFunction ############################################################################ # Now define some handy complex functions # This one moves and then raises the window if you drag the mouse, # only raises the window if you click, or does a RaiseLower if you double # click Function "Move-or-Raise" Move "Motion" Raise "Motion" Raise "Click" RaiseLower "DoubleClick" EndFunction # This one maximizes vertically if you click (leaving room for the GoodStuff bar at the # bottom, or does a full maximization if you double click, or a true full vertical # maximization if you just hold the mouse button down. #Function "maximize_func" # Maximize "Motion" 0 100 # Maximize "Click" 0 80 # Maximize "DoubleClick" 100 100 #EndFunction Function "maximize_func" Maximize "Click" 100 100 EndFunction # This one moves and then lowers the window if you drag the mouse, # only lowers the window if you click, or does a RaiseLower if you double # click Function "Move-or-Lower" Move "Motion" Lower "Motion" Lower "Click" RaiseLower "DoubleClick" EndFunction # This one moves or (de)iconifies: Function "Move-or-Iconify" Move "Motion" Iconify "DoubleClick" EndFunction # This one resizes and then raises the window if you drag the mouse, # only raises the window if you click, or does a RaiseLower if you double # click Function "Resize-or-Raise" Resize "Motion" Raise "Motion" Raise "Click" RaiseLower "DoubleClick" EndFunction # This is provided as a hint only. # Move to a known page on the desktop, then start an application in a # known location. Could also switch to a known desktop, I guess #Function "abs_coord" # GoToPage "Immediate" 1,1 # Exec "Immediate" exec xcalc -geometry +100+100& #EndFunction ############################################################################## #now define the menus - defer bindings until later Popup "Other_Computers" Exec "asylum.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title asylum.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh asylum.sanitarium.net & Exec "comatose.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title comatose.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh comatose.sanitarium.net & Exec "dementia.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title dementia.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh dementia.sanitarium.net & Exec "deranged.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title deranged.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh deranged.sanitarium.net & Exec "hellmouth.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title hellmouth.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh hellmouth.sanitarium.net & Exec "insomnia.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title insomnia.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh insomnia.sanitarium.net & Exec "laika.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title laika.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh laika.sanitarium.net & Exec "lunacy.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title lunacy.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh lunacy.sanitarium.net & Exec "lunatic.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title lunatic.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh lunatic.sanitarium.net & Exec "madness.sanitarium.net" exec xterm -tn dtterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title madness.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh madness.sanitarium.net & Exec "obsessive.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title obsessive.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh obsessive.sanitarium.net & Exec "paranoid.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title paranoid.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh paranoid.sanitarium.net & Exec "perseus.logicprobe.org" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title perseus.logicprobe.org -geometry 148x46+202+118 -e /usr/bin/ssh perseus.logicprobe.org & Exec "phobia.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title phobia.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh phobia.sanitarium.net & Exec "psychosis.sanitarium.net" exec xterm -bdc -r -sb -sl 20000 -j -ls -fn 10x20 -title psychosis.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh psychosis.sanitarium.net & Exec "scitzo.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title scitzo.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh scitzo.sanitarium.net & Exec "sloth.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title sloth.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh sloth.sanitarium.net & Exec "xbox.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title xbox.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh xbox.sanitarium.net & Exec "xbox2.sanitarium.net" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title xbox2.sanitarium.net -geometry 148x46+202+118 -e /usr/bin/ssh xbox2.sanitarium.net & EndPopup Popup "Cluster_SSH" Exec "cssh - MQS" exec cssh -T "MQS" -t "-rv" MQS & Exec "cssh - MySQL" exec cssh -T "MySQL" -t "-rv" MySQL & Exec "cssh - MySQL-tbird" exec cssh -T "MySQL_tbird" -t "-rv" MySQL_tbird & Exec "cssh - MySQL-p3" exec cssh -T "MySQL_p3" -t "-rv" MySQL_p3 & Exec "cssh - MySQL-amd64" exec cssh -T "MySQL_amd64" -t "-rv" MySQL_amd64 & Exec "cssh - CS" exec cssh -T "CS" -t "-rv" CS & Exec "cssh - Genesis Class CS" exec cssh -T "CS_GENESIS" -t "-rv" CS_GENESIS & Exec "cssh - CLAP" exec cssh -T "CLAP" -t "-rv" CLAP & Exec "cssh - MX" exec cssh -T "MX" -t "-rv" MX & Exec "cssh - OSOL" exec cssh -T "OSOL" -t "-rv" OSOL & Exec "cssh - My Boxes" exec cssh -T "SN" -t "-rv" SN & Exec "cssh - CSNEW" exec cssh -T "CSNEW" -t "-rv" CSNEW & EndPopup Popup "Shells" Exec "Xterm (large font)" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title `uname -n` -geometry 148x46+202+118 & Exec "Xterm (huge font)" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title `uname -n` -geometry 80x24+230+271 & Exec "DosBox" exec dosbox & Exec "Xterm (medium font)" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 7x13 -title `uname -n` -geometry 177x47+4+153 & Popup "Other Computers" Other_Computers Popup "Cluster SSH" Cluster_SSH Exec "mrxvt oscars" exec mrxvt -title "FutureQuest OSCAR servers" -tn rxvt -fn 10x20 -geometry 148x46+202+118 -ip 702,703,704,705,706,707,708,709,710 & EndPopup Popup "Games" Exec "Angry Drunken Dwarves" exec angrydd & Exec "Kobo Deluxe" exec kobodl & Exec "Full Throttle" exec scummvm -f --aspect-ratio -p~/games/Full_Throttle ft & Exec "Chromium" exec chromoim & Exec "lbreakout2" exec lbreakout2 & Exec "ltris" exec ltris & Exec "Maelstrom" exec Maelstrom -fullscreen & Exec "PowerManga" exec powermanga & Exec "Raptor 2" exec raptor & Exec "SuperTux" exec supertux & Exec "Frozen Bubble" exec frozen-bubble & Exec "Emilia Pinball" exec emilia-pinball & Exec "XScorch" exec xscorch & Exec "Abuse" exec abuse.sdl -fullscreen & Exec "xmoto" exec xmoto & EndPopup Popup "Applications" Exec "Liferea" exec liferea & Exec "gnucash" exec bin/gnucash+owncloud.csh & Exec "LyX" exec lyx -geometry 848x718+195+0 & Exec "KeePassXC" exec keepassxc & Exec "Gnumeric" exec gnumeric & Exec "AbiWord" exec abiword & Exec "Windows XP (qemu)" exec bin/xp & Exec "Scribus" exec scribus & Exec "plan" exec plan & # Exec "jpilot" exec jpilot & Exec "Pose" exec pose /home/asylum/kmk/.xcopilot/pose & Exec "OOWriter" exec oowriter2 & Exec "DIA" exec dia & Exec "OOCalc" exec oocalc2 & Exec "OODraw" exec oodraw2 & Exec "OOffice" exec ooffice2 & Exec "OOImpress" exec ooimpress2 & Exec "OOMath" exec oomath2 & # Exec "OOPAdmin" exec oopadmin & # Exec "OOSetup" exec oosetup & Exec "Scite" exec scite & # Exec "Xwpe" exec xwpe -fn 10x20 & EndPopup Popup "Communications" Exec "Hexchat" exec irc & Exec "Firefox" exec ~/bin/firefox & Exec "Thunderbird" exec gpg-agent --daemon ~/bin/thunderbird & Exec "QBittorrent" exec /usr/bin/qbittorrent & Exec "SeaMonkey" exec seamonkey-bin & Exec "Chromium" exec chromium & Exec "PuTTY" exec putty & Exec "QTella" exec /usr/local/bin/qtella & Exec "gtkhx" exec /usr/bin/gtkhx & Exec "otpCalc" exec /usr/local/bin/otpCalc & # Exec "Minicom" exec color_xterm -bdc -ls -sb -font 9x15 -geometry 148x46+202+118 -rv -T Minicom -n Minicom -e minicom & # Exec "GHX" exec ghx1 & Popup "ssh to" Other_Computers EndPopup # This menu is invoked as a sub-menu - it allows you to quit, # restart, or switch to another WM. Popup "Quit-Verify" # Title "Really Quit Fvwm?" Restart "Restart Fvwm" fvwm Quit "Yes, Really Quit" # Restart "Start Fvwm2" fvwm2 # Restart "Start twm" twm # Restart "Start olvwm" /usr/openwin/bin/olvwm # Nop "" # Nop "No, Don't Quit" EndPopup # Provides a list of modules to fire off Popup "Module-Popup" #Module "SaveDesktop" FvwmSave Module "GoodStuff" GoodStuff #Module "Clean-Up" FvwmClean Module "Identify" FvwmIdent #Module "Debug" FvwmDebug Module "Pager" FvwmPager 0 0 Module "FvwmWinList" FvwmWinList #Module "FvwmBanner" FvwmBanner #Module "FvwmIconBox" FvwmIconBox EndPopup Popup "Roots" Exec "Black" exec xfixroot -solid black & Exec "NavyBlue" exec xfixroot -solid navyblue & # Exec "Current" exec xv -root -quit /tmp/WALL.BMP & # Exec "Revise" exec /usr/etc/revise.wall.paper & Exec "XEarth" exec xearth & EndPopup Popup "Utilities" # Exec "XOSView (local)" exec /usr/X11R6/bin/xosview -geometry 147x143+868+0 +net -page -disk -int -cpu & # Exec "XOSView (asylum)" exec /usr/bin/ssh -C asylum.sanitarium.net /usr/X11R6/bin/xosview -display sanitarium.sanitarium.net:0 -geometry 146x143+712+0 -xrm \"xosview\*cpu\: False\" -net 0 +serial2 -page -disk -int & # Exec "Cheops (asylum)" exec /usr/bin/ssh asylum /usr/local/bin/cheops & # Exec "XLoad" exec xload & Exec "Xfe" exec xfe & Exec "Xstat" exec ~/bin/Xstat.pl & Exec "XConsole" exec /usr/X11R6/bin/xconsole -geometry 438x69+576+689 & Exec "Screen Shot" exec /home/asylum/kmk/bin/xscreenshot & EndPopup Popup "Accessories" Exec "HP48GX" exec x48 & Exec "Adobe Acrobat Reader" exec /usr/local/bin/acroread 921x712+91+0 & Exec "XDaliClock" exec xdaliclock -cycle -fn system -noseconds & EndPopup Popup "Multi-Media" Exec "Audacious" exec audacious & Exec "Audacity" exec audacity & Exec "lastfm" exec lastfm >& /dev/null & Exec "Pandora" exec ~/bin/pandora & Exec "xine" exec xine & Exec "vlc" exec vlc & Exec "XScreensaver Demo" exec xscreensaver-demo & # Exec "XMixer" exec /usr/X11R6/bin/xmixer -all & # Exec "Sound Studio" exec /usr/local/bin/studio & Exec "XV" exec xv & # Exec "XGMOD" exec xgmod & # Exec "Workman" exec workman & Popup "Roots" Roots Exec "ScreenSaver" exec xscreensaver-command -activate Exec "Lock Screen" exec xscreensaver-command -lock EndPopup # This menu will fire up some very common utilities Popup "MENU" Title "MENU" # Exec "Restart x2vnc" exec $HOME/bin/vnc_restart.sh & # Nop "" Popup "Applications" Applications Nop "" Popup "Accessories" Accessories Nop "" Popup "Shells" Shells Nop "" Popup "Communications" Communications Nop "" Popup "Multi-Media" Multi-Media Nop "" Popup "Utilities" Utilities Nop "" Popup "Games" Games Nop "" Popup "Modules" Module-Popup Nop "" Popup "Exit Fvwm" Quit-Verify EndPopup # This defines the most common window operations Popup "Window Ops" Title "Window Ops" Function "Move" Move-or-Raise Function "Resize" Resize-or-Raise Raise "Raise" Lower "Lower" Iconify "(De)Iconify" Stick "(Un)Stick" Function "(Un)Maximize" maximize_func Nop "" Destroy "Kill" Delete "Terminate" Nop "" Refresh "Refresh Screen" EndPopup # A trimmed down version of "Window Ops", good for binding to decorations Popup "Window Ops2" Function "Move" Move-or-Raise Function "Resize" Resize-or-Raise Raise "Raise" Lower "Lower" Iconify "Iconify" Stick "(Un)Stick" Nop "" Destroy "Kill" Delete "Terminate" Nop "" Module "ScrollBar" FvwmScroll 2 2 EndPopup ############################################################################# # One more complex function - couldn't be defined earlier because it used # pop-up menus # # This creates a motif-ish sticky menu for the title-bar window-ops # pop-up # Menu acts like normal twm menu if you just hold the button down, # but if you click instead, the menu stays up, motif style Function "window_ops_func" PopUp "Click" Window Ops2 PopUp "Motion" Window Ops2 # Motif would add # Delete "DoubleClick" EndFunction ############################################################################## # This defines the mouse bindings # First, for the mouse in the root window # Button 1 gives the Utilities menu # Button 2 gives the Window Ops menu # Button 3 gives the WindowList (like TwmWindows) # I use the AnyModifier (A) option for the modifier field, so you can hold down # any shift-control-whatever combination you want! #lookhere # Button Context Modifi Function Mouse 1 R A PopUp "MENU" Mouse 2 R A PopUp "Window Ops" #Mouse 3 R A WindowList Mouse 3 R A Module "winlist" FvwmWinList transient # Now the title bar buttons # Any button in the left title-bar button gives the window ops menu # Any button in the right title-bar button Iconifies the window # Any button in the rightmost title-bar button maximizes # Note the use of "Mouse 0" for AnyButton. # Button Context Modifi Function Mouse 0 1 A Function "window_ops_func" Mouse 0 2 A Function "maximize_func" Mouse 0 4 A Iconify # Now the rest of the frame # Here I invoke my complex functions for Move-or-lower, Move-or-raise, # and Resize-or-Raise. # Button 1 in the corner pieces, with any modifiers, gives resize or raise Mouse 1 F A Function "Resize-or-Raise" # Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise Mouse 1 TS A Function "Move-or-Raise" # Button 1 in an icons gives move for a drag, de-iconify for a double-click, # nothing for a single click # Button 2 in an icon, w/ any modifiers, gives de-iconify Mouse 1 I A Function "Move-or-Iconify" Mouse 2 I A Iconify # Button 2 in the corners, sides, or title-bar gives the window ops menu Mouse 2 FST A Function "window_ops_func" # Button 3 anywhere in the decoration (except the title-bar buttons) # does a raise-lower Mouse 3 TSIF A RaiseLower # Button 3 in the window, with the Modifier-1 key (usually alt or diamond) # gives Raise-Lower. Used to use control here, but that interferes with xterm Mouse 3 W M RaiseLower ############################################################################ # Now some keyboard shortcuts. # Arrow Keys # press arrow + control anywhere, and scroll by 1 page Key Left A C Scroll -100 0 Key Right A C Scroll +100 +0 Key Up A C Scroll +0 -100 Key Down A C Scroll +0 +100 # press arrow + meta key, and scroll by 1/10 of a page Key Left A M Scroll -10 +0 Key Right A M Scroll +10 +0 Key Up A M Scroll +0 -10 Key Down A M Scroll +0 +10 # press shift arrow + control anywhere, and move the pointer by 1% of a page Key Left A SC CursorMove -1 0 Key Right A SC CursorMove +1 +0 Key Up A SC CursorMove +0 -1 Key Down A SC CursorMove +0 +1 # press shift arrow + meta key, and move the pointer by 1/10 of a page Key Left A SM CursorMove -10 +0 Key Right A SM CursorMove +10 +0 Key Up A SM CursorMove +0 -10 Key Down A SM CursorMove +0 +10 # Keyboard accelerators Key F1 A M Popup "MENU" Key F2 A M Popup "Window Ops" Key F3 A M Module "WindowList" FvwmWinList #Key F4 A M Iconify #Key F4 A M Destroy Key F5 A M Move Key F6 A M Resize Key F7 A M CirculateUp Key F8 A M CirculateDown # make alt+tab work like it does in Windows but only for Wine apps (the *.exe is the important part). #Key Tab A M CirculateDown "Wine" *.exe #Key Menu A N Exec "XMMS Stop" exec audacious -s & Key Super_L A C Exec "Xterm (large font)" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title `uname -n` -geometry 148x46+202+118 & Key Super_R A C Exec "Xterm (large font)" exec xterm -bdc -r -sb -sl 5000 -j -ls -fn 10x20 -title `uname -n` -geometry 148x46+202+118 & Key Pause A N Exec "XMMS Pause" exec audacious -u & Key Print A A Exec "Screen Shot" exec /home/asylum/kmk/bin/xscreenshot & Key Menu A M Exec "X48" exec x48 & Key Menu A C Exec "Orpie" exec xterm -bdc -r -j -ls -fn 10x20 -title orpie -geometry 80x24+884+0 -e orpie & Key m A CM Exec "" exec xterm -bdc -r -j -ls -fn 10x20 -title alpine -geometry 80x24+884+0 -e ssh -t asylum pine & Key p A CM Exec "" exec xterm -bdc -r -j -ls -fn 10x20 -title alpine -geometry 80x24+884+0 -e ssh -t asylum pine & #Key m A CM Exec "" exec xdotool mousemove --sync 115 72 click 1 mousemove restore & #Key p A CM Exec "" exec xdotool mousemove --sync 115 72 click 1 mousemove restore mousemove --sync 960 600 key --delay 250 --clearmodifiers ctrl+shift+c mousemove --sync restore & Key x A CM Exec "Screen Saver" exec /home/asylum/kmk/bin/xss & Key l A CM Exec "Lock Screen" exec /home/asylum/kmk/bin/xss lock & Key Delete A CM Restart "Restart Fvwm" fvwm Key i A CM Exec "Music Information Database" mp3tkinfo & Key e A CM Exec "Playlist Editor" bin/playlists.pl & Key c A CM Exec "" bin/showcovers & Key s A CM Exec "" ssh-multiadd & Key k A CM Exec "keepassxc" exec keepassxc & #Page Up/Dapge Down keys are used to scroll by one desktop page # in any context, press page up/down + control # in root context, just pressing page up/down is OK # # I prefer the non-wrapping scroll. These are for example purposes only #Key Next A C Scroll 100000 0 #Key Next R N Scroll 100000 0 #Key Prior A C Scroll -100000 0 #Key Prior R N Scroll -100000 0 ############################################################################ ############################################################################ #Definitions used by the modules ###################### GoodStuff button-bar ################################ # Colors *GoodStuffFore Black *GoodStuffBack #908090 # Font *GoodStuffFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* # Geometry - really likes to pick its own size, but giving a position is OK #*GoodStuffGeometry +0-1 *GoodStuffGeometry +706+0 # Layout: specify rows or columns, not both #*GoodStuffColumns 7 *GoodStuffRows 2 # Define the buttons to use..... #*GoodStuff Kill rbomb.xpm Destroy *GoodStuff info /usr/share/icons/wm-icons/32x32-kde2/unknown.xpm Exec "Music Information Database" mp3tkinfo & *GoodStuff +iPod /home/asylum/kmk/.icons/gtkpod/32x32/places/playlist_display-sync.xpm Exec "" bin/mp3db +ipod -current & *GoodStuff +best /usr/share/icons/wm-icons/32x32-kde2/window-raise.xpm Exec "" bin/mp3db +best -current & *GoodStuff +myrip /usr/share/icons/wm-icons/32x32-kde2/disk-cd.xpm Exec "" bin/mp3db +myrip -current & *GoodStuff index /usr/share/icons/wm-icons/32x32-kde2/restart.xpm Exec "" bin/mp3db index & #*GoodStuff pl_edit /usr/share/icons/wm-icons/32x32-kde2/todo.xpm Exec "Playlist Editor" bin/playlists.pl & *GoodStuff pl_edit /usr/share/icons/wm-icons/32x32-kde2/editor.xpm Exec "Playlist Editor" bin/playlists.pl & *GoodStuff verify /usr/share/icons/wm-icons/32x32-kde2/choice-yes.xpm Exec "mp3db verify" xterm -fn 10x20 -geometry 90x12 -sb -rv -T "mp3db verify" -e "mp3db verify -current ; head -n1" & *GoodStuff -iPod /home/asylum/kmk/.icons/gtkpod/32x32/places/playlist_display-read.xpm Exec "" bin/mp3db -ipod -current & *GoodStuff -best /usr/share/icons/wm-icons/32x32-kde2/window-lower.xpm Exec "" bin/mp3db -best -current & *GoodStuff -myrip /usr/share/icons/wm-icons/32x32-kde2/network.xpm Exec "" bin/mp3db -myrip -current & *GoodStuff -all /usr/share/icons/wm-icons/32x32-kde2/quit.xpm Exec "" bin/mp3db -pl -current all & *GoodStuff covers /usr/share/icons/wm-icons/32x32-kde2/xv.xpm Exec "" bin/showcovers & #/usr/share/pixmaps/yes.xpm #/usr/share/themes/LargePrint/pixmaps/stock_ok.png # xterm -bdc or rxvts on remote machines can be done like this # Output re-direction is csh style, not sh style # You will want to substitute your own hosts here! #*GoodStuff Dopey rterm.xpm Exec "dopey" rsh dopey "exec xterm -bdc -T dopey -display $HOSTDISPLAY &/dev/null & "& #*GoodStuff Grumpy rterm.xpm Exec "grumpy" rsh grumpy "exec xterm -bdc -T grumpy -display $HOSTDISPLAY &/dev/null & "& #*GoodStuff Snoopy rterm.xpm Exec "snoopy" rsh snoopy "exec xterm -bdc -T snoopy -display $HOSTDISPLAY &/dev/null & "& #*GoodStuff Xcalc rcalc.xpm Exec "Calculator" xcalc & #*GoodStuff mail mail2.xpm Exec "xmh" xmh & #*GoodStuff Paging clamp.xpm TogglePage #*GoodStuff xclock clock.xpm Swallow "xclock" xclock -bg \#908090 -geometry -1500-1500 -padding 0 & ######################### No Clutter ######################################## # I only wrote NoClutter as a simple test case, but maybe some big sites like # universities really have usage problems (too many open windows).... # Time delays are in seconds. *FvwmNoClutter 3600 Iconify 1 *FvwmNoClutter 86400 Delete *FvwmNoCLutter 172800 Destroy ########################## Window-Identifier ############################### # Just choose colors and a fonts *FvwmIdentBack MidnightBlue *FvwmIdentFore Yellow *FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* ########################### Pager ######################################### #*FvwmPagerBack #908090 #*FvwmPagerFore #484048 #*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* #*FvwmPagerHilight #cab3ca #*FvwmPagerGeometry 80x57+0+0 ##########################FvwmWinList################################## *FvwmWinListBack #908090 *FvwmWinListFore Black *FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* *FvwmWinListAction Click1 Iconify -1,Focus *FvwmWinListAction Click2 Iconify *FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent *FvwmWinListUseSkipList *FvwmWinListGeometry +0-1 # similar to olvwm's auto-raise feature.