# .fvwm2rc # http://chwombat.net/fvwm/fvwm2rc # Based heavily on configs found at http://dev.gentoo.org/~taviso/ and http://ikaro.dk/ # This thing uses a lot of little bash/Perl scripts I wrote. I've uploaded them to http://chwombat.net/fvwm/. # Environment settings. # Where the icons and window decorations are found. ~/.fvwm/theme for me is a symlink to a theme directory, so that to change themes I just change the symlink. ImagePath ${HOME}/.fvwm/icons:${HOME}/.fvwm/weather_icons:${HOME}/.fvwm/icons/trans:${HOME}/.fvwm/milk:${HOME}/.fvwm:+ # Also for my XMMS/mpd controller: a directory containing playlists. SetEnv fvwm_playlist_dir ${HOME}/music/Playlists # For taviso's wallpaper browser. SetEnv fvwm_wallpaper_dir /home/tr4nce/Images/Wallpapers/ # StartFunction. AddToFunc StartFunction + I Module FvwmCommandS + I Module FvwmEvent + I Module FvwmAnimate + I Module FvwmButtons -g 850x128+215-0 FvwmDock # Desktop / window settings. # Window min/max animations. DestroyModuleConfig FvwmAnimate: * *FvwmAnimate: Effect Turn *FvwmAnimate: Delay 5 *FvwmAnimate: Iterations 30 *FvwmAnimate: Width 1 # Desktop/page settings. DeskTopSize 4x2 EdgeResistance 15 50 EdgeThickness 0 # I want StaysOnBottom to put stuff in the very bottom layer, not on layer 2. DefaultLayers 0 4 6 # I want my mouse to be a plain old pointer, even over the root window and window decorations. Also set the double-click time. CursorStyle root top_left_arrow CursorStyle sys top_left_arrow ClickTime 200 # Bugfixes or something, I forget. BugOpts FlickeringMoveWorkaround True IgnoreModifiers L25 # This limits the geometry of a maximized window. Leave 3 pixels on the top, left and right so that I can open the root menu easily. Leave 80 on the bottom so I don't cover up the docker. EwmhBaseStruts 3 3 3 80 # This puts the resize/geometry super-mini-window-things in the middle of the screen rather than the upper-left corner. Emulate Mwm # Opaque moving for windows of all sizes please. OpaqueMoveSize -1 # I don't like snap-attraction. SnapAttraction 0 # Colorsets. Rather easier to find them all here than to look all over the file. # Menu Colorsets Colorset 0 fg #444, bg #f5f5f5, hi #9c9e9c, sh #9c9e9c, IconAlpha 80 Colorset 1 fg #121212, bg #c8c8c8, hi #c8c8c8, sh #9c9e9c, IconAlpha 80 # Pager Colorsets Colorset 2 fg #f7f7f7, bg #f7f7f7, hi #bbb, sh #bbb Colorset 3 fg #444, bg #eee, hi #ccc, sh #ccc Colorset 4 fg white, RootTransparent buffer, Tint white 30 Colorset 5 fg grey, bg #121212, RootTransparent buffer, Tint #121212 60 Colorset 6 fg white, RootTransparent buffer, Tint white 90 Colorset 7 fg white, IconAlpha 30 Colorset 8 fg white, IconAlpha 50 #Colorset 9 fg #121212, bg white, hi #121212, RootTransparent buffer, Tint white 10 Colorset 9 fg #444, bg #f7f7f7, hi #121212, RootTransparent Colorset 10 fg white, bg #121212, RootTransparent Colorset 11 fg #fff, bg #9c9e9c #Colorset 12 fg #888, bg #fff, IconAlpha 60 Colorset 12 fg #777777, bg #fff, IconAlpha 60 #Colorset 13 fg #181818, bg white, IconAlpha 60 Colorset 13 fg #55614b, bg #f6f6f6, IconAlpha 60 Colorset 14 bg #9c9e9c # Default style stuff. DefaultColorset 0 DefaultFont "Shadow=1 se:xft:FolksBlack:size=12" Style * TitleAtLeft Style * Colorset 12 Style * HilightColorset 13 # Makes the Maximize button toggle when you maximize a window. Style * MWMButtons # Hide window buttons if a window doesn't like something. Style * MWMFunctions Style * MWMDecor # Transient windows like window decorations too. Style * DecorateTransient # 1px border, no handles please. Style * BorderWidth 1 Style * NoHandles Style * Borders # Hard to find a placement policy that I really like. Style * MinOverlapPercentPlacementPenalties 2 5 1 2 0.5 50 #Style * MinOverlapPercentPlacement # Opaque resizing please. Style * ResizeOpaque # Setting this to a huge number makes a nifty shading animation, just because it takes a while for my machine to render it. 300 may be too much (or too little) for you depending on your machine. Style * WindowShadeSteps 300 # Style of the icons. No title, transparent icons. Style * NoIconTitle, IconTitleColorset 10, HilightIconTitleColorset 10, IconTitleRelief 0, IconBackgroundRelief 0, IndexedIconName # Iconbox size. I have it in the bottom-right, filling bottom-to-top, three icons wide. # When FvwmButtons Swallows an IconBox, the icons are still transparent to the desktop, not to the background of the FvwmButtons, and that looks really really terrible. # This means that to have my IconBox look like it's inside a white box with a #121212 border, I have to open up the Gimp and actually draw such a box onto my desktop wallpaper. An ugly ugly hack, but I never move the dock or anything, so it works. The good thing is that I can make the background of the bars at the bottom ANYTHING, not just a solid color. I made it a nice gradient. I could give it rounded corners or whatever. A real dock will resize horizontally when the icons enlarge as you mouseover them, but FVWM currently doesn't support such things, so it doesn't matter. FVWM DOES support icon-zooming, which still works quite nicely with my wallpaper-fake-docker-hack. # Sometimes brute force is the best way to solve a problem. # For the overlay I use myself, you can look at http://chwombat.net/fvwm/overlay.png. You can just stick it as a layer over top of a 1280x1024 wallpaper, and make it semi-transparent. Easy enough to do; you can probably even make a script to do it for you. Style * IconBox 210x900-0-5, IconFill right bottom, # SloppyFocus takes a bit getting used to, but it's nice. Move the mouse into a window and it focuses; click the window anywhere to raise it. Style * SloppyFocus, MouseFocusClickRaises Style * BorderColorset 11 Style * HilightBorderColorset 11 # My menu style. MenuStyle * Font "Shadow=1 se:xft:Folks:size=10" MenuStyle * MenuColorset 0 MenuStyle * ActiveColorset 1 MenuStyle * HilightBack MenuStyle * Hilight3DOff MenuStyle * BorderWidth 1 # ItemFormat is pretty powerful. This puts a 5px space, an icon, 12px, the menu item text, 5px, a right arrow, and 2px. MenuStyle * ItemFormat "%5p%i%6p%l%5p%>%2p" # Animatedly slide menus around if there's no room for them. MenuStyle * Animation # Warp the mouse to the menu title when a submenu pops up? No thanks. MenuStyle * TitleWarpOff # My titles ARE underlines (actually a transparent png), so 0 underlines under my underlines please. MenuStyle * TitleUnderlines0 MenuStyle * PopdownDelayed MenuStyle * RemoveSubmenus MenuStyle * VerticalItemSpacing 0 5 MenuStyle * PopupOffset 0 100 # I don't use the keyboard to browse my menus, so keep hotkeys out of it. MenuStyle * AutomaticHotkeysOff MenuStyle * TrianglesSolid # Window decorations. TitleStyle AllActive StretchedPixmap title.png TitleStyle AllInactive StretchedPixmap title.png TitleStyle -- flat TitleStyle Height 21 # The Stick and Maximize buttons toggle based on the state of the window. ButtonStyle All -- flat AddButtonStyle 1 ActiveUp (Pixmap nostick.png -- flat) AddButtonStyle 1 ActiveDown (Pixmap nostick.png -- flat) AddButtonStyle 1 ToggledActive (Pixmap nostick.png -- flat) AddButtonStyle 1 ToggledInactive (Pixmap nostick.png -- flat) AddButtonStyle 1 Inactive (Pixmap nostick.png -- flat) AddButtonStyle 2 ActiveUp (Pixmap close2.png -- flat) AddButtonStyle 2 ActiveDown (Pixmap close.png -- flat) AddButtonStyle 2 Inactive (Pixmap close-un.png -- flat) AddButtonStyle 4 ActiveUp (Pixmap max2.png -- flat) AddButtonStyle 4 ActiveDown (Pixmap max.png -- flat) AddButtonStyle 4 Inactive (Pixmap max-un.png -- flat) AddButtonStyle 4 ToggledActiveUp (Pixmap maxed.png -- flat) AddButtonStyle 4 ToggledActiveDown (Pixmap maxed_push.png -- flat) AddButtonStyle 4 ToggledInactive (Pixmap maxed2.png -- flat) AddButtonStyle 6 ActiveUp (Pixmap min2.png -- flat) AddButtonStyle 6 ActiveDown (Pixmap min.png -- flat) AddButtonStyle 6 Inactive (Pixmap min-un.png -- flat) # Toggle these buttons. #ButtonStyle 1 - MwmDecorStick ButtonStyle 2 - Clear ButtonStyle 4 - MwmDecorMax # Various app-specific styles. # Certain kinds of apps should be NoTitle, BorderWidth 0, NoHandles, CirculateSkip, WindowListSkip, and NeverFocus. For example gdesklets if you run it, or torsmo if you run that as a window. Also the docker, pager, things of that nature. Style beep-media-player Sticky, Title Style bmp* Sticky, Title Style *MPlayer* NoTitle Style gDesklets NoTitle, BorderWidth 0, NoHandles, WindowListSkip Style Torsmo NoTitle, BorderWidth 0, NoHandles, WindowListSkip, StaysOnBottom, NeverFocus Style Pancaek Sticky Style FvwmDock Sticky, NoTitle, WindowListSkip, StaysOnBottom, NeverFocus # Always start terms on one page, Firefox on another, gvim on another, etc. Style *Firefox* StartsOnPage 1 0 # Sometimes I don't want term windows to cover any other window, so I can turn off the ability to click-to-raise that window. If you run urxvt as `urxvt -T title` you can set its window name. I can set the name to "root" and "notroot" so FVWM can find them. So normal urxvt instances aren't affected by these style options. See StartFunction. Style root StaysOnBottom, ClickToFocusRaisesOff Style notroot StaysOnBottom, ClickToFocusRaisesOff Style XMMS_Player NoTitle, WindowListSkip Style "LAMIP gtk+2 control" StartsOnPage 1 1, NoTitle Style "LAMIP gtk+2 control gui - playlists" WindowListSkip, NoTitle # Override the icon and mini-icon for every app to use this default one instead. Icon is what's used when you minimize an app to the iconbox. MiniIcon is used for various other things like the middle-click-on-the-desktop task list. Apps have their own default icons usually, but I'd rather have a consistent default. Style ** IconOverride, Icon program.png Style ** EWMHMiniIconOverride, MiniIcon program_mini.png # Now override the icons for apps I use on a regular basis. You could call this an "icon theme". Style *term* EWMHMiniIconOverride, IconOverride, MiniIcon terminalmini.png, Icon terminal.png Style gaim EWMHMiniIconOverride, IconOverride, MiniIcon gaim_mini.png, Icon gaim.png Style gvim EWMHMiniIconOverride, IconOverride, MiniIcon gvim_mini.png, Icon gvim.png Style *Firefox* EWMHMiniIconOverride, IconOverride, MiniIcon firefox_mini.png, Icon firefox.png Style *Commander* EWMHMiniIconOverride, IconOverride, MiniIcon rox_mini.png, Icon rox.png Style beep-media-player EWMHMiniIconOverride, IconOverride, MiniIcon xmms_mini.png, Icon xmms.png Style gimp* EWMHMiniIconOverride, IconOverride, MiniIcon gimp_mini.png, Icon gimp.png Style *MPlayer* EWMHMiniIconOverride, IconOverride, MiniIcon mplayer_mini.png, Icon mplayer.png Style Evolution* EWMHMiniIconOverride, IconOverride, MiniIcon evolution_mini.png, Icon evolution.png Style XMMS* EWMHMiniIconOverride, IconOverride, MiniIcon xmms_mini.png, Icon xmms.png Style *gmpc* EWMHMiniIconOverride, IconOverride, MiniIcon xmms_mini.png, Icon xmms.png Style *xchat* EWMHMiniIconOverride, IconOverride, MiniIcon xchat_mini.png, Icon xchat.png Style LAMIP* EWMHMiniIconOverride, IconOverride, MiniIcon soundmini.png, Icon soundmini.png # Mouse bindings. # Mental note: This also controls which window decoration buttons appear. No mouse binding = no button. Nop for buttons that don't do anything. # Right or left click on the desktop = root menu. # Middle click on the desktop = task list. Mouse 1 R A Menu MenuFvwmRoot Nop Mouse 2 R A WindowList NoCurrentDeskTitle NoGeometry SortByClass NoHotkeys Mouse 3 R A Menu MenuFvwmRoot Nop # The title bar buttons. Mouse 0 1 A Stick Mouse 0 2 A Close Mouse 0 6 A Iconify Mouse 0 4 A Maximize # Clicking on the window frame = raise the window and do nothing else. Mouse 1 FS A Raise Mouse 3 FST A Menu MenuFvwmWindowOps Nop # Right-click an icon or window title bar = that dumb window options menu I never use. Mouse 3 IT A Menu MenuFvwmWindowOps Nop # CTRL + middle-drag anywhere in a window = resize. Note, this is the only way to resize a window, since I don't like the window-borders to act as handles like that. Mouse 2 W C Resize-or-Raise # ALT + middle-drag anywhere in a window = move. Mouse 2 W M Move-or-Raise # Double-click the titlebar = shade or unshade. Mouse 1 T A Move-or-Shade Mouse 1 I A Iconify # Key bindings. # ALT+F# = go to a different page. See below for this function. Key F1 A M ScrollPage 0 0 Key F2 A M ScrollPage 1 0 Key F3 A M ScrollPage 2 0 Key F4 A M ScrollPage 3 0 Key 1 A M ScrollPage 0 1 Key 2 A M ScrollPage 1 1 Key 3 A M ScrollPage 2 1 Key 4 A M ScrollPage 3 1 #Key F5 A M Exec `exec transset .9` # FvwmIdent is a nice little popup that displays tons of information about a window, including its geometry, name, resource, and class, which is helpful when you use FVWM. Key I A CM Pick FvwmIdent # Restart FVWM; useful when messing with your fvwm2rc file. Key R A CM Restart # FvwmConsole lets you run FVWM commands without restarting FVWM. Also useful for testing. Key F A CM FvwmConsole # ALT+TAB = Task list Key Tab A M Windowlist NoCurrentDeskTitle NoGeometry SortByClass # CTRL+ALT+[arrow] = move the currently-focused window to the page in that direction from the current page, only if possible. Key Right A CM WindowPage +1p +0p Key Left A CM WindowPage -1p +0p Key Up A CM WindowPage +0p -1p Key Down A CM WindowPage +0p +1p # Left Windows key (aka Super_L) = Iconify. Key Super_L A A Iconify # CTRL+ALT+[ZXCVB] = music player controls. This mimics the Winamp/XMMS/BMP button layout. Key Z A CM Exec exec mpc prev Key X A CM Exec exec mpc play Key C A CM Exec exec mpc pause Key V A CM Exec exec mpc stop Key B A CM Exec exec mpc next # Dummy functions to help with window maneuvers and suchlike. # A function which will zoom the desktop around when you press a key. If I switch to page 0,1, rather than just display it immediately, I will zoom from my current page to that page. DestroyFunc ScrollPage AddToFunc ScrollPage #+ I PipeRead `$[FVWM_USERDIR]/scroll_page.pl $[page.nx] $[page.ny] $0 $1` + I GotoPage $0 $1 # Comment out the Piperead and use the above line instead, if you don't want desktop-zooming-animations. # See scroll_page.pl for more details. AddToFunc Move-or-Shade + D WindowShade + M Move + I Raise AddToFunc Move-or-Raise I Raise + M Move + D WindowShade Toggle AddToFunc Move-or-Iconify + M Move + C Iconify AddToFunc Resize-or-Raise I Raise + M Resize + D Lower AddToFunc WindowPage + I MoveToPage $0 $1 + I GotoPage $0 $1 DestroyFunc WindowListFunc AddToFunc WindowListFunc + I Iconify off + I FlipFocus + I Raise # taviso's wallpaper browser. Clicking a wallpaper executes wallpaper.sh. DestroyFunc WallpaperBrowser AddToFunc WallpaperBrowser + I PipeRead 'test ! -d "$0/.thumbs" && mkdir "$0/.thumbs"; \ for i in "$0/"*; do \ test -f "$0/.thumbs/${i##*/}" \ -a "${i}" -ot "$0/.thumbs/${i##*/}" || { \ convert -quality 0 -scale 48 "${i}" "png:$0/.thumbs/${i##*/}" 2>/dev/null || continue; \ }; \ done; \ fvwm-menu-directory --dir $0 --title "" --icon-title "folder_mini.png" --icon-dir "folder_mini.png" --icon-file __PIXMAP__ --xterm "bash" --exec-file "$[FVWM_USERDIR]/wallpaper.sh" --order 5 | sed -e "s#FuncFvwmMenuDirectory#WallpaperBrowser#g" -e "s#__PIXMAP__\\(.*\\)\\"\\(.*/\\)\\(.*\\)\\"#\\2.thumbs/\\3\\1\\2\\3#g"' # Menu styles. # This will let you mouseover items in a menu without anything happening; if you move the mouse out the right side of a menu item, THEN it pops up a submenu. This makes whipping the mouse up and down the menu faster, because there's no lag from submenus popping up. It's rather like flicking the menus open with a mouse movement. This is especially needed because of the mail browser menu, which pops up very slowly and freezes the menu while it's loading. MenuStyle * PopupDelayed MenuStyle * PopupDelay 0 MenuStyle * PopdownImmediately # The default FVWM seperator is slightly bevelled, 3D and hideous. I made a little transparent png file, nice 130x15 pixel transparent png with a 1px #121212 line, to use instead, and use it as a seperator by setting it as a "title" so you can't click it. All the icons used here are in ~/.fvwm/theme/icons. DestroyMenu MenuFvwmRoot AddToMenu MenuFvwmRoot + "%terminalmini.png%&Terminal" Exec exec xterm -fa BitstreamVeraSansMono-11 -ls + "*sep.png*" Title + "%internet_mini.png%&Internet" Popup MenuInternet + "%editors_mini.png%&Editors" Popup MenuEditors + "%media_mini.png%&Media" Popup MenuMultimedia + "%gamesmini.png%&Games" Popup MenuGames + "*sep.png*" Title + "%files_mini.png%Fi&les" Popup MenuFiles + "*sep.png*" Title + "%smini.png%Edit &.fvwm2rc" Exec exec xterm -fa BitstreamVeraSansMono-11 -e "nano -w /home/tr4nce/.fvwm/.fvwm2rc" + "%preferences_mini.png%&Preferences" Popup MenuFvwmConfig + "*sep.png*" Title + "%kill_mini.png%&Kill" Pick Destroy + "%screenshot_mini.png%&Screenshot" Exec exec scrot --quality 75 -d 10 '%m-%d-%Y.png' + "%email_mini.png%&Email" Popup gmail + "%weather_mini.png%&Weather" Popup WeatherCheck + "*sep.png*" Title + "%exit_mini.png%E&xit fvwm" Popup MenuQuit DestroyMenu gmail AddToMenu gmail Gmail title + DynamicPopupAction Function Getgmail DestroyFunc Getgmail AddToFunc Getgmail + I DestroyMenu recreate gmail + I AddToMenu gmail "tr4nce at Gmail" title + I Piperead 'echo "`/patch/to/gmail`"' DestroyMenu MenuInternet AddToMenu MenuInternet + "%gaim_mini.png%Gaim" Exec exec gaim + "%firefox_mini.png%Firefox" Exec exec firefox + "%xchat_mini.png%Xchat" Exec exec xchat-2 + "%azureus_mini.png%Azureus" Exec exec azureus DestroyMenu MenuGames AddToMenu MenuGames + "%war3.png%Warcraft III - Reign Of Chaos" Exec exec cedega -use-pthreads no TransGaming_Drive/Program\ Files/Warcraft\ III/war3.exe -classic -opengl + "%war3tft.png%Warcraft III Frozen Throne" Exec exec cedega -use-pthreads no TransGaming_Drive/Program\ Files/Warcraft\ III/war3.exe -opengl DestroyMenu MenuEditors AddToMenu MenuEditors + "%notepadmini.png%Nano" Exec exec xterm -fa BitstreamVeraSansMono-11 -e nano + "%word_mini.png%AbiWord" Exec exec abiword-2.0 #+ "%abiword_mini.png%abiword" Exec exec abiword-2.0 DestroyMenu MenuMultimedia AddToMenu MenuMultimedia + "%gimp_mini.png%Gimp" Exec exec gimp-2.0 + "%xmms_mini.png%Beep Media Player" Exec exec beep-media-player + "%mplayer_mini.png%Gmplayer" Exec exec gmplayer + "%soundmini.png%Lamip" Exec exec lamip -o alsa -g default DestroyMenu MenuFiles AddToMenu MenuFiles + "%rox_mini.png%Tux Commander" Exec exec /home/tr4nce/tuxcmd DestroyMenu MenuFvwmConfig AddToMenu MenuFvwmConfig + MissingSubmenuFunction WallpaperBrowser #+ "%screensaver_mini.png%screensaver" Exec exec xscreensaver-demo + "%theme_mini.png%gtk-chtheme" Exec exec gtk-chtheme #+ "%theme_mini.png%theme manager" Exec exec gnome-theme-manager #+ "%font_mini.png%font properties" Exec exec gnome-font-properties #+ "%gconf_mini.png%gconf editor" Exec exec gconf-editor + "%wallpaper_mini.png%wallpaper >" Popup $[fvwm_wallpaper_dir] DestroyMenu MenuQuit AddToMenu MenuQuit + "%quit_mini.png%quit fvwm" Quit + "%restart_mini.png%restart fvwm" Restart # This is the menu you get from right-clicking a window title or iconified window's icon. I pretty much never use it. DestroyMenu MenuPageList AddToMenu MenuPageList + "page 1" Pick MoveToPage 0 0 + "page 2" Pick MoveToPage 1 0 + "page 3" Pick MoveToPage 2 0 + "page 4" Pick MoveToPage 3 0 + "page 5" Pick MoveToPage 0 1 + "page 6" Pick MoveToPage 1 1 + "page 7" Pick MoveToPage 2 1 + "page 8" Pick MoveToPage 3 1 DestroyMenu MenuFvwmWindowOps AddToMenu MenuFvwmWindowOps + "stick" Pick Stick + "shade" Pick WindowShade Toggle + "maximize" Pick Maximize + "*sep.png*" Title + "resize" Pick Resize + "move to page >" Popup MenuPageList + "*sep.png*" Title + "refresh" Pick RefreshWindow + "identify" Pick Module FvwmIdent + "*sep.png*" Title + "close" Pick Close + "destroy" Pick Destroy # Weather checking menu. # # Put the weather icons somewhere in your ImagePath. The icons are from http://jyrik.deviantart.com, used with permission (see permission.txt). # # Put weather.pl in ~/.fvwm . You'll need Perl and LWP::Simple to run this script. To get LWP::Simple in Gentoo you can emerge libwww-perl. # Edit this stuff to change the look of your menu. MenuStyle WeatherCheck Font "Shadow=1 se:xft:Folks:size=10" MenuStyle WeatherCheck MenuColorset 0 MenuStyle WeatherCheck ActiveColorset 1 MenuStyle WeatherCheck HilightBack MenuStyle WeatherCheck Hilight3DOff MenuStyle WeatherCheck BorderWidth 1 MenuStyle WeatherCheck Animation MenuStyle WeatherCheck TitleWarpOff MenuStyle WeatherCheck TitleUnderlines0 MenuStyle WeatherCheck RemoveSubmenus MenuStyle WeatherCheck VerticalItemSpacing 0 5 MenuStyle WeatherCheck PopupOffset 0 100 MenuStyle WeatherCheck AutomaticHotkeysOff MenuStyle WeatherCheck TrianglesSolid MenuStyle WeatherCheck ItemFormat "%i%5p%l%5p%c%8p%r%5p" AddToMenu WeatherCheck + DynamicPopupAction Function WeatherCheck ChangeMenuStyle WeatherCheck WeatherCheck # Script usage: weather.pl ZIP [F|C] # # ZIP is a zip code. F or C is the format for the temperatures. Leaving off the second parameter will default the script to F. DestroyFunc WeatherCheck AddToFunc WeatherCheck + I DestroyMenu recreate WeatherCheck + I AddToMenu WeatherCheck + I PipeRead '~/.fvwm/weather.pl ARDF0127 C' # Time for modules. # FvwmIdent module. DestroyModuleConfig FvwmIdent: * *FvwmIdent: Colorset 0 # FvwmPager module DestroyModuleConfig FvwmPager: * *FvwmPager: Colorset * 4 *FvwmPager: HilightColorset * 6 *FvwmPager: WindowColorsets 2 3 *FvwmPager: BalloonColorset * 0 *FvwmPager: Font none *FvwmPager: SmallTTFont 5x8 *FvwmPager: Balloons All *FvwmPager: BalloonFont "xft:Folks:Bold:size=10" *FvwmPager: BalloonYOffset +2 *FvwmPager: BalloonBorderWidth 1 *FvwmPager: UseSkipList *FvwmPager: MoveThreshold 0 *FvwmPager: WindowLabelFormat "" *FvwmPager: WindowBorderWidth 1 *FvwmPager: SolidSeparators *FvwmPager: Window3DBorders # ikaro's DockLaunch function which launches an app when you click its icon in the dock. Slightly changed, because I want double or single click to always open a new app. In the original, single click would switch to an already-running instance of an app if it was already running. DestroyFunc DockLaunch AddToFunc DockLaunch + C Exec $0 + D Exec $0 #+ H Any ($1) WindowList ($1) Rectangle +$2+$3 0 -100m CurrentAtEnd UseListSkip SortByClass NoCurrentDeskTitle + H Any ($1) WindowList ($1) Rectangle +$2+$3 0 -100m CurrentAtEnd UseListSkip SortByClass NoCurrentDeskTitle + H None ($1) Exec $0 # FvwmDock module, by ikaro # ActiveIcon is a fairly new feature of FVWM, not in ikaro's original dock. I don't remember if I patched FVWM myself to get ActiveIcon or if it's in portage (I think it's in the unstable FVWM in portage, 2.5.10-r6 is what I have right now) Style FvwmDock BorderColorset 14 Style FvwmDock HilightBorderColorset 14 Style FvwmDock BorderWidth 0 DestroyModuleConfig FvwmDock: * *FvwmDock: Rows 6 *FvwmDock: Frame 0 *FvwmDock: Columns 50 *FvwmDock: Colorset 9 *FvwmDock: PressColorset 9 *FvwmDock: Padding 0 0 *FvwmDock: BoxSize fixed *FvwmDock: (4x6+0+0, Icon guitar.png, ActiveIcon guitartrans.png, ActionOnPress, \ Action(Mouse 1) `DockLaunch /home/tr4nce/tuxcmd "Tuxcmd" $left $top`, \) *FvwmDock: (4x6+4+0, Icon guitar7.png, ActiveIcon guitar2trans.png, ActionOnPress, \ Action(Mouse 1) `DockLaunch xchat-2 "Xchat" $left $top`, \) *FvwmDock: (4x6+8+0, Icon guitar8.png, ActiveIcon guitar3trans.png, ActionOnPress, \ Action(Mouse 1) `DockLaunch /opt/firefox/firefox Firefox-bin $left $top`, \) *FvwmDock: (4x6+12+0, Icon guitar2.png, ActiveIcon guitar4trans.png, ActionOnPress, Action(Mouse 1) `DockLaunch azureus Azureus $left $top`,) *FvwmDock: (4x6+16+0, Icon guitar10.png, ActiveIcon guitar5trans.png, ActionOnPress, \ Action(Mouse 1) `DockLaunch gaim gaim $left $top`, \) *FvwmDock: (4x6+20+0, Icon guitar9.png, ActiveIcon guitar6trans.png, ActionOnPress, \ Action(Mouse 1) `DockLaunch beep-media-player $left $top`, \) #*FvwmDock: (8x6+24+0, Icon amp.png, ActiveIcon mplayer.png, ActionOnPress, \ # Action(Mouse 1) `DockLaunch gmplayer Mplayer $left $top`, \) *FvwmDock: (7x6+24+0, Icon amp.png, ActiveIcon amptrans.png, ActionOnPress, \ Action(Mouse 1) `DockLaunch gimp-2.0 gimp-2.0 $left $top`, \) *FvwmDock: (1x6+36+0, Icon blank.png) *FvwmDock: (7x1+37+0, Icon blank.png) *FvwmDock: (7x2+37+2, Swallow "FvwmPager" "FvwmPager *") *FvwmDock: (7x1+37+5, Icon blank.png) *FvwmDock: (6x2+44+0, Icon blank.png) *FvwmDock: (6x2+44+4, Icon blank.png)