# Anthony DiSante's Fvwm config file # http://nodivisions.com/tech/linux/fvwm/ # # originally based on taviso's config file: # http://dev.gentoo.org/~taviso/fvwm2rc.html # # Random notes: # 'I' stands for "Immediate", and is executed as soon as the function is invoked. # The action 'I' causes an action to be performed on the button-press, if the function is invoked with prior knowledge of which window to act on. # 'M' stands for "Motion", i.e. if the user starts moving the mouse. # 'C' stands for "Click", i.e., if the user presses and releases the mouse. # 'H' stands for "Hold", i.e. if the user presses a mouse button and holds it down for more than ClickTime milliseconds. # 'D' stands for "Double-click". ImagePath ${HOME}/adata/programs/icons:/usr/share/icons:+ SetEnv fvwm_video_path $[HOME]/media/video SetEnv fvwm_video_exec mplayer SetEnv fvwm_audio_path $[HOME]/media/audio SetEnv fvwm_audio_exec "beep-media-player --play" SetEnv fvwm_image_path $[HOME]/media/images SetEnv fvwm_image_exec xv SetEnv fvwm_rom_path $[HOME]/stuff/zsnes SetEnv fvwm_rom_exec zsnes SetEnv fvwm_wallpaper_dir /home/falling/adata/lemmings/sights/wallpaper #SetEnv fvwm_wallpaper $[fvwm_wallpaper_dir]/haiku.png SetEnv fvwm_bible_path /home/falling/adata/lemmings/bible/kjv SetEnv fvwm_bible_exec mozilla-go.sh ##### # You can automatically move the viewport into adjacent pages when the pointer # hits the screen edge, but I dont like this. # # EdgeThickness disables edge scrolling and EdgeCommand, which I never use. set this # to 1 or 2 to enable them. ################# EdgeResistance 15 100 EdgeThickness 0 ##### # http://www.fvwm.org/documentation/faq/#5.5 ################# IgnoreModifiers L25 ##### # You can use EwmhBaseStruts to stop Maximised windows from obscuring TaskBars/ButtonBars # or anything else you always want to be visible. # # This Setting makes sure my ButtonBar on the left and taskbar along the bottom is always # visible, if you would like some windows to ignore this setting when being placed or Maximized, # you can set the EWMHPlacementIgnoreWorkingArea or EWMHMaximizeIgnoreWorkingArea Style options. # # you can also use the ewmhiwa flag on ceratin Maximize commands, so you could have one menu # option for normal maximization, and one for full-screen maximization. ################# EwmhBaseStruts 0 0 14 14 ###### # Fvwm uses a default ClickTime of 150ms, which is way too short for me. # A Click that lasts <= ClickTime is considered a `Click` in functions, # > ClickTime is a `Hold`. # Remember that if you have a function that has actions on Click (C) and # DoubleClick (D), fvwm will have to wait at least this long so it can tell which # action you are trying to make. ################# ClickTime 200 DeskTopSize 2x2 CursorStyle default left_ptr # for root menu and popup window menu CursorStyle menu left_ptr # root window CursorStyle root left_ptr # titlebar buttons CursorStyle sys left_ptr # titlebar itself CursorStyle title left_ptr # busy cursor (gumby on a cursor! my life is complete.) CursorStyle wait gumby ##### # OpaqueMoveSize allows you to stop Large windows from being moved opaquely, # I like the effect, and have Cycles to burn, so all windows can use it. # # SnapAttraction lets nearby windows snap together, or snap to edges so that they # are easier to align on your desktop, The default is off, if you set it too large # it's annoying as hell, 3 pixels is just right. ################# OpaqueMoveSize -1 SnapAttraction 3 SameType ###### # Use bash if it exists. ################# Test (f /bin/bash) ExecUseShell /bin/bash ###### # Menu Settings. # # * PopupOffset allows you to control where submenus will appear, and # whether they should overlap or not. # * PopupDelay controls how long fvwm will wait before showing an sub # menu, if you would rather click than just hover on the menu item, set # this to 0, if you would rather the menus appear instantly use the PopupImmediately # setting. # * This menu uses a translucent Colorset, and Hilighted items are light # blue with a single pixel border. # * I changed the default ItemFormat to be a little more spacious. # # AutomaticHotKeys generates your HotKeys (Keys you can press when a menu opens to # jump straight to an item) for you, you can write your own also, or disable them. # I've gone off HotKeys recently, so it's disabled for now. # # Try adding fgsh xxxx to Colorset 1 to change the Colour of the Font shadow on Hilighted # Menu entries. # # Anyone using lots of transparency in their theme will want to read these great tips # from olicha (Olivier Chapuis, an fvwm developer) on efficiency and performance # http://www.mail-archive.com/fvwm@hpc.uh.edu/msg02143.html ################# Colorset 0 fg black, bg grey, Translucent #bdbac6 90 Colorset 1 fg black, bg #6b83b5, hi #dcdcdc, sh #dcdcdc MenuStyle * Hilight3DThin, PopupOffset -10 100 #MenuStyle * Font "Shadow=1 1 SE:xft:Bitstream Vera Sans Mono:style=Roman:size=8" MenuStyle * Font "Shadow=1 1 SE:xft:Clean-8" MenuStyle * MenuColorset 0, HilightBack, ActiveColorset 1 MenuStyle * BorderWidth 2, TitleUnderlines1, SeparatorsLong, TrianglesSolid, Animation MenuStyle * ItemFormat "%.2|%.5i%.5l%.5i%2.3>%2|" MenuStyle * AutomaticHotKeys ###### # Use colormaps according to Focus, rather than where the Mouse is. ################# ColormapFocus FollowsFocus ###### # Default window Styles. # # I like single pixel borders, which look cleaner and simpler that the default 3d borders. # # It can be a little tricky to grab the handles, but I usually use a Key Binding for that # anyway, you can always make the handles stick out a bit more if you use them more than I do. # # SloppyFocus is the one true Focus policy :) (focus follows mouse, except on root) # # If I click in a window, I like it to be raised (MouseFocusClickRaises) # # GrabFocus is terrible, windows are always stealing focus and keystrokes end up in the wrong # windows and you lose your train of thought, etc. So turn it off here, and back on for windows # that play nice with it. # # Set up an IconBox (an area that Windows jump to by default when Iconified) along the left. # You can set more than one of these, as one gets filled the next one is used. You might also # be interested in this FAQ: http://www.fvwm.org/documentation/faq/#3.15 # # Syntax Reminder: # # IconBox [screen scr-spec] l t r b # # Fvwm offers several placement policies, which decide where new windows should appear, I've # found that SmartPlacement makes a decent guess at where the windows should be, but there are # plenty more to choose from. # # If you find that a window is being placed in some awkward location, it may be setting it's own # geometry, you can ask fvwm to ignore this with either NoPPosition or NoUSPosition, for example: # Style wmtimer NoUSPosition # you might also find the ExplainWindowPlacement BugOpt useful (search the man page). # # IconAlpha looks great, but requires a lot of redrawing while being moved...so I have disabled # it (by setting to 100) for Hilighted Icons, this also creates a cool MouseOver effect :) # # If you want to stop Thumbnails getting too big, you can use the IconSize option. ################# Colorset 13 fg #f6f6f6, bg black, IconAlpha 40 Colorset 14 fg white, bg black, fgsh black, IconAlpha 100 Style * Font "Shadow=1 1 SE:xft:Aquafont:size=9", BorderWidth 1, HandleWidth 1 Style * Colorset 13, HilightColorset 14 Style * MWMFunctions, MWMDecor, HintOverride, DecorateTransient, NoPPosition #Style * IconBox 20 20 100 -15, IconFill left top, SloppyFocus, MouseFocusClickRaises Style * SmartPlacement, WindowShadeSteps 20, ResizeOpaque Style * Button 1, Button 2, Button 4, Button 6, GrabFocusOff Style * NoIconTitle BorderStyle Active Solid black -- NoInset HiddenHandles BorderStyle Inactive Solid black -- NoInset HiddenHandles ##### # My Vectors look like this # # +----------------------------------------------------------+ # | . ? _ # X | # +----------------------------------------------------------+ # | 1 8 6 4 2 | # | | # | # # When the Buttons are ActiveDown (Pressed), The shadow vector is not drawn. # # Note that some Title/Button Styles are destructive. # # Vectors are basically just a set of co-ordinates, each button is a grid of 100x100 points # (or you can use pixels..it's up to you), following each vector you must specify a line type: # # @0 Shadow (sh) # @1 Hilight (hi) # @2 Background (bg) # @3 Foreground (fg) # @4 Invisible (just move the pointer, dont draw anything) # # I normally use Gradients for my themes, but I am using a TiledPixmap below for the titlebar back. # If you would like the same pixmaps that i use, you can use these: # # begin 644 title_back.png # MB5!.1PT*&@H````-24A$4@````$````1"`8````3````"7!(67,```L3```+$P$`FIP8````!W1)344'U`,7##(;H1J% # ME@```!UT15AT0V]M;65N=`!#3````"7!(67,```L3```+$P$`FIP8````!W1)344'U`,7##4`9#[: # MO0```!UT15AT0V]M;65N=`!#(`(P#7O$CI!U5BA4`````245.1*Y"8((` # ` # end # # man uudecode if you're not sure what to do with these :) # # If you would like an example of a TitleBar gradient: # TitleStyle Active ( VGradient 16 1 #5a8ade 50 #000000 -- Flat ) # # More complex styles can be achieved using the MultiPixmap feature, see the # man page for details. # # ButtonStyle and TitleStyle are destructive, i.e. all other TitleStyles # before them will get overridden. # # AddButtonStyle and AddTitleStyle are not destructive (mostly), so you can # stack multiple styles (pixmaps, vectors, etc) on top of each other to make # some nice effects. # # I have seperated the vectors below into different parts, I have made one in # shadow and one in fg, if you dont like the shadow you can comment it out. # # Title bar Buttons can also be MiniIcons, this can look nice, there # is an example below commented out. ################## Colorset 7 fg black, bg white, sh white, RootTransparent Buffer, Tint #f6f6f6 20 DestroyDecor DefaultDecor AddToDecor DefaultDecor + TitleStyle LeftJustified Height 20 + TitleStyle InActive ( Colorset 7 -- Flat ) Active ( Colorset 7 -- Flat ) # Note: this is for the middle of the titlebar only -- NOT the end button areas: + AddTitleStyle Active ( TiledPixmap ant_title_back_20tall.png -- Flat ) \ Inactive ( TiledPixmap ant_title_back_inactive_20tall.png -- Flat ) + ButtonStyle All InActive ( Colorset 7 -- Flat ) + ButtonStyle All Active ( Colorset 7 -- Flat ) # Note: this is for the end button areas of the titlebar only -- NOT the middle (text) area: + AddButtonStyle All Inactive TiledPixmap ant_title_back_inactive_20tall.png -- Flat + AddButtonStyle All Active TiledPixmap ant_title_back_20tall.png -- Flat # Ant: these make a small dot at position 1 (left end of titlebar) but I # don't want it there, because I'm using icons there. #+ AddButtonStyle 1 Active Vector 4 49x49@2 49x51@2 51x51@2 51x49@2 -- Flat #+ AddButtonStyle 1 Inactive Vector 4 49x49@3 49x51@3 51x51@3 51x49@3 -- Flat + AddButtonStyle 1 AllUp Vector 2 50x55@1 50x55@1 -- Flat # Ant: # Comment next 2 lines to disable the icons in the titlebars of windows. + AddButtonStyle 1 Active MiniIcon -- Flat + AddButtonStyle 1 InActive MiniIcon -- Flat + AddButtonStyle 2 Active Vector 4 40x40@2 60x60@2 60x40@4 40x60@2 -- Flat + AddButtonStyle 2 Inactive Vector 4 40x40@3 60x60@3 60x40@4 40x60@3 -- Flat + AddButtonStyle 2 AllUp Vector 4 40x45@1 60x65@1 60x45@4 40x65@1 -- Flat + AddButtonStyle 4 Active Vector 7 40x40@2 40x60@2 60x60@2 60x40@2 40x40@2 40x45@2 60x45@2 -- Flat + AddButtonStyle 4 Inactive Vector 7 40x40@3 40x60@3 60x60@3 60x40@3 40x40@3 40x45@3 60x45@3 -- Flat + AddButtonStyle 4 AllUp Vector 4 40x65@1 60x65@1 45x50@4 55x50@1 -- Flat + AddButtonStyle 6 Active Vector 5 40x60@2 60x60@2 60x55@2 40x55@2 40x60@2 -- Flat + AddButtonStyle 6 Inactive Vector 5 40x60@3 60x60@3 60x55@3 40x55@3 40x60@3 -- Flat + AddButtonStyle 6 AllUp Vector 2 40x65@1 60x65@1 -- Flat + ButtonStyle 1 - MwmDecorMenu + ButtonStyle 6 - MwmDecorMin + ButtonStyle 4 - MwmDecorMax Style * UseDecor DefaultDecor # FlickeringMoveWorkaround disables ConfigureNotify events that # are usually sent to an application while it is moved. If some # windows flicker annoyingly while being moved, this option may # help you. Note that if this problem occurs it is not an fvwm # bug, it is a problem of the application. BugOpts FlickeringMoveWorkaround True #BugOpts ExplainWindowPlacement True ##### # Application specific Style settings ################# Style * ClickToFocus Style XTerm MiniIcon ant-computer.png Style Eterm MiniIcon computer_x11.png Style xman MiniIcon book_help_paper.png Style xmag ClickToFocus, MiniIcon document_database_view.png Style Gkrellm2 Sticky, WindowListSkip, StaysOnBottom, NeverFocus Style opera EWMHMiniIconOverride, MiniIcon opera.png Style XVroot GrabFocus Style gmrun MiniIcon gears.png, NoFuncHint, NoDecorHint, GrabFocus Style FvwmIdent MiniIcon label_tag_version.png Style Calculator MiniIcon calculator.png Style gcalctool EWMHMiniIconOverride,MiniIcon calculator.png Style beep-media-player MiniIcon audio_horn.png, UsePPosition Style xmessage MiniIcon person_face_talking.png Style xchat-2 !FPFocusByProgram, NoFuncHint, NoDecorHint Style aterm WindowShadeShrinks Style rxvt WindowShadeShrinks Style Message MiniIcon person_face_talking.png Style VMware MiniIcon hardware_computers.png Style SDL_App EWMHMiniIconOverride, MiniIcon games_jesters-cap.png Style XDosEmu EWMHMiniIconOverride, MiniIcon games_jesters-cap.png Style FvwmScript-Quit MiniIcon plug.png Style pan !FPFocusByProgram Style nautilus EWMHMiniIconOverride, MiniIcon floppy_disk.png Style abiword-2.0 EWMHMiniIconOverride, MiniIcon document_letter_word-processor.png Style grip EWMHMiniIconOverride, MiniIcon hardware_audio_cd.png Style xv MiniIcon graphics_woman_panel.png Style xwrits NoDecorHint, NoFuncHint Style gvim EWMHMiniIconOverride, MiniIcon gvim.png Style XOsview WindowListSkip Style Ddd MiniIcon audio_waveform_view.png Style Eboard MiniIcon games_chess.png Style Gimp EWMHMiniIconOverride, MiniIcon ant-gnome-gimp-24x24.png Style gimp-2.0 EWMHMiniIconOverride, MiniIcon graphics_paint_edit.png Style findtextdialog NoFuncHint, NoDecorHint Style fvwm_menu MiniIcon gears.png, NoButton 4 Style xmms MiniIcon ant-gnome-grecord-24x25.png, WindowListSkip, !Iconifiable, NeverFocus Style Lplayer MiniIcon graph_mixer.png Style wmtimer NoUSPosition Style FoxWindow EWMHMiniIconOverride, MiniIcon ant-text-2-17x18.png, IconOverride, Icon ant-text-3-48x48.png Style ROX-Filer EWMHMiniIconOverride, MiniIcon ant-gnome-folder-24x24.png, IconOverride, Icon ant-gnome-folder-48x48.png Style Mozilla-bin EWMHMiniIconOverride, MiniIcon ant-mozilla-24x24.png #Style Thunderbird-bin EWMHMiniIconOverride, MiniIcon ant-emblem-mail-2-24x24.png, Icon ant-emblem-mail-2.xpm Style Thunderbird-bin EWMHMiniIconOverride, MiniIcon ant-emblem-mail-2-24x24.png, IconOverride, Icon tb.xpm Style Firefox-bin EWMHMiniIconOverride, MiniIcon ant-firefox_icon-01-24x24.png, Icon ant-firefox_icon-01-48x48.png Style Xawtv MiniIcon ant-tv-20x20.png, Icon ant-tv-48x48.png Style tvtime MiniIcon ant-tv-20x20.png, Icon ant-tv-48x48.png Style gaim IconOverride, Icon online.png ##### # Miscellaneous Module Settings. ################# # FvwmIdent is an xwininfo replacement. DestroyModuleConfig FvwmIdent: * *FvwmIdent: Back #dadada *FvwmIdent: Fore #747474 *FvwmIdent: Font "xft:clean-8" # FvwmScroll swallows applications into smaller containers, sometimes handy. DestroyModuleConfig FvwmScroll: * *FvwmScroll: Back #f6f6f6 *FvwmScroll: Fore #f6f6f6 # FvwmEvent can bind Commands to Events DestroyModuleConfig FvwmEvent: * # FvwmBacker can change wallpaper as you change desks or pages, or execute commands. DestroyModuleConfig FvwmBacker: * ##### # Hit Alt+Esc to toggle FvwmProxy, which allows you to see all windows on your # desktop, even if they've been obscured..really cool. ################## DestroyModuleConfig FvwmProxy: * *FvwmProxy: Font "xft:clean-8" *FvwmProxy: ProxyMove true Key Escape A M SendToModule FvwmProxy ShowToggle ##### # Mouse bindings. ################# # Syntax Reminder: # Mouse Button Context Modifiers Function Mouse 1 R A Nop Mouse 3 R A Menu MenuFvwmRoot Mouse 2 R A WindowList (CurrentPage) SortByClass MaxLabelWidth 60, NoCurrentDeskTitle # The 1,2,4,6 are the buttons in a window's titlebar, as shown above # in the "My vectors look like this" section... but basically, # 1=upperleft button # 6=minimize button # 4=maximize button # 2=x button # And "Mouse 0" I think means "any mouse button". Mouse 0 1 A Menu MenuFvwmWindowOps Mouse 0 6 A Iconify Mouse 0 4 A Maximize Mouse 0 2 A DestroyOnHold # The contexts (TSIF etc): # T=titlebar # I=iconbox # W=window (in the body of a window) # F=frame corners # S=sides (borders) of a window, including top and bottom #Mouse 4 T A WheelToggleShade True #Mouse 5 T A WheelToggleShade False Mouse 1 FS A Resize-or-Raise Mouse 1 T A Move-or-Raise Mouse 2 T A RaiseLower Mouse 3 T A Menu MenuFvwmWindowOps #Mouse 1 I A Iconify Mouse 1 I A DeiconifyAndRearrange Mouse 2 I A Raise-Maybe-Move Mouse 3 I C Close #Mouse 3 TSIF A RaiseLower Mouse 1 W M Move-or-Raise Mouse 2 W C Resize-or-Raise Mouse 3 W M Menu Window-Ops Nop #Key Menu A A Menu MenuFvwmRoot ##### # Fvwm executes StartFunction when Fvwm is initialized, and at restart. # A Good place to start Modules. # # FvwmCommandS Allows you to run Fvwm Commands from a Terminal, like this: # $ FvwmCommand 'Module FvwmBanner' # Or any other Command. # # You can test for Initialization from within StartFunction, this is a good # place to set the Background or start your favourite applications. # # osd_cat comes from the xosd package. ################# AddToFunc StartFunction + I Module FvwmCommandS + I Module FvwmAnimate + I Module FvwmEvent + I Module FvwmProxy + I PipeRead "echo Module FvwmButtons -g $$(($[vp.width]))x14+0-0 FvwmButtonsAnt" + I PipeRead "echo Module FvwmButtons -g $$(($[vp.width]))x14+0+0 FvwmButtonsAntTop" # Ant: I want DeiconifyAndRearrange here, but it gives me the crosshair select-a-window # cursor on every restart??? # Update: I'm currently using mouse-motion ("M") as a hack here, but there is probably # a proper way to disable this behavior. + M DeiconifyAndRearrange DestroyMenu MenuFvwmRoot AddToMenu MenuFvwmRoot # An example with text-for-executable file and an icon: #Test (x nautilus) + %folder_view.png%"Nautilus File Manager" Exec exec nautilus --no-desktop + %ant-rec.png%"Audio Recording" Popup Menu-Rec + %ant-book.png%"Bible" Popup Menu-Bible + %ant-tv-24x24.png%"Entertainment" Popup Menu-Entertainment + %ant-film.png%"Imaging/Video" Popup Menu-Imaging + %ant-mozilla-24x24.png%"Internet" Popup Menu-Internet + %ant-tool_wrench.png%"Misc" Popup Menu-Misc + %ant-text-2-17x18.png%"Text/Office" Popup Menu-Office + "" Nop + %ant-computer.png%"Terminal (aterm)" Exec exec aterm -sl 3000 -tr -fg white -sh 50 -fn fixed -sr -trsb + %ant-computer.png%"Terminal (xterm)" Exec exec xterm -sl 3000 -rightbar + %ant-gnome-folder-24x24.png%"Guest Files" Exec exec rox /home/guests/ + "" Nop + %bomb2-24x24.png%"Exit Fvwm..." Popup MenuQuit-Verify DestroyMenu Menu-Misc AddToMenu Menu-Misc #+ %cursor.png%"Configure Cursor" Module FvwmForm FvwmForm-RootCursor + %ant-book.png%"Fvwm ManPages" Popup MenuFvwmManPages + "Switch theme to black" Exec exec ln -sf $[HOME]/.fvwm/blackrc $[HOME]/.fvwm/fvwm2rc-extra + "Switch theme to white" Exec exec ln -sf $[HOME]/.fvwm/whiterc $[HOME]/.fvwm/fvwm2rc-extra DestroyMenu Menu-Internet AddToMenu Menu-Internet + %ant-mozilla-24x24.png%"Web Browser (mozilla)" Exec exec mozilla-go.sh + %ant-instant-messenger.png%"Instant Messenger (gaim)" Exec exec gaim + %ant-file_transfer.png%"FTP (gftp)" Exec exec gftp DestroyMenu Menu-Entertainment AddToMenu Menu-Entertainment + %ant-tv-24x24.png%"TV (tvtime)" Exec exec tvtime + %ant-tv-24x24.png%"TV (xawtv)" Exec exec xawtv -device /dev/video0 + %ant-gnome-grecord-24x25.png%"Play Random Album (xmms)" Exec exec play-random-album + %ant-gnome-grecord-24x25.png%"Browse Music Files (rox)" Exec exec rox /music/ + %ant-audio.png%"Volume (gnome-volume-control)" Exec exec gnome-volume-control + %ant-video.png%"Browse Video Files (rox)" Exec exec rox /home/falling/adata/video/ DestroyMenu Menu-Office AddToMenu Menu-Office + %ant-stock_openoffice-24x24.png%"OpenOffice" Popup Menu-OOo + %ant-calculator.png%"Calculators" Popup Menu-Calculators + %ant-text-2-17x18.png%"Text Editor (adie)" Exec exec a + %ant-stock_form-table-control.png%"Spreadsheet (gnumeric)" Exec exec gnumeric DestroyMenu MenuQuit-Verify AddToMenu MenuQuit-Verify + "Quit Fvwm Now" Quit + "Restart Fvwm" Restart DestroyMenu Menu-Imaging AddToMenu Menu-Imaging + %ant-gnome-folder-24x24.png%"Browse Photos (rox)" Exec exec rox /home/falling/adata/photos/ + %ant-gnome-folder-24x24.png%"Browse Wallpaper (rox)" Exec exec rox /home/falling/adata/lemmings/sights/wallpaper/ + %ant-help.png%"Change Wallpaper..." Exec exec aterm -sl 3000 -tr -fg white -sh 50 -fn fixed -sr -trsb -e less /home/falling/adata/programs/howto-fvwm-wallpaper.txt + %ant-gnome-gimp-24x24.png%"Image Editor (gimp)" Exec exec gimp DestroyMenu Menu-Rec AddToMenu Menu-Rec + %ant-help.png%"Recording with Ardour..." Exec exec aterm -sl 3000 -tr -fg white -sh 50 -fn fixed -sr -trsb -e less /home/falling/adata/programs/howto-recording.txt + "Wave Editor (audacity)" Exec exec audacity + "Cheesetracker" Exec exec cheesetracker_qt + "Solfege" Exec exec solfege-go DestroyMenu Menu-Bible AddToMenu Menu-Bible + %ant-book.png%"Browse Books..." Popup $[fvwm_bible_path] + %ant-search.png%"Search for terms..." Exec exec xterm -sl 3000 -rightbar -hold -e bible-search DestroyMenu Menu-Calculators AddToMenu Menu-Calculators + %ant-calculator.png%"calculator" Exec exec calculator + %ant-calculator.png%"gcalctool" Exec exec gcalctool + %ant-calculator.png%"xcalc" Exec exec xcalc DestroyMenu Menu-OOo AddToMenu Menu-OOo + %ant-stock_openoffice-24x24.png%"writer" Exec exec oowriter + %ant-stock_openoffice-24x24.png%"calc" Exec exec oocalc + %ant-stock_openoffice-24x24.png%"draw" Exec exec oodraw + %ant-stock_openoffice-24x24.png%"impress" Exec exec ooimpress + %ant-stock_openoffice-24x24.png%"math" Exec exec oomath + %ant-stock_openoffice-24x24.png%"web" Exec exec ooweb ##### # `Pick` is very handy, if it's obvious which window you're talking about, # The command is executed immediately within the context of that window. # # If it isnt obvious, for example, you select `Move` from the Root menu, the # cursor becomes a crosshair, and you can select the window you you would like # to apply the command to by clicking it. # # This saves a lot of work, you can use `Pick` with everything that might be # Called without context and only write one function/menu instead of two. ################# DestroyMenu FvwmMoveMethods AddToMenu FvwmMoveMethods + %desktop-page-1.png%"Page &1" Pick MoveToPage 0 0 + %desktop-page-2.png%"Page &2" Pick MoveToPage 1 0 + %desktop-page-3.png%"Page &3" Pick MoveToPage 0 1 + %desktop-page-4.png%"Page &4" Pick MoveToPage 1 1 # XXX: I can probably automate making this menu. DestroyMenu MenuPageList AddToMenu MenuPageList + "1" Pick MoveToPage 0 0 + "2" Pick MoveToPage 1 0 + "3" Pick MoveToPage 0 1 + "4" Pick MoveToPage 1 1 ##### # WindowOps, Main window controls menu. ################# DestroyMenu MenuFvwmWindowOps AddToMenu MenuFvwmWindowOps + "Re&size" Pick Resize + "Move" Pick Move + "Ico&nify" Pick Iconify + "Ma&ximize" Pick Maximize + "Relocate" Popup FvwmMoveMethods + "Zoom Window" Pick Exec exec xmag -source $[w.width]x$[w.height]+$[w.x]+$[w.y] -mag 2 + "Identify" Pick Module FvwmIdent # Keep these commented but don't delete them... I may want them back sometime. #+ "" Nop #+ "Stick" Pick Stick #+ "Scroll" Pick Module FvwmScroll #+ "Refresh" Pick RefreshWindow + "" Nop + "Close" Pick Close + "Destroy" Pick Destroy ##### # Name: DestroyOnHold # Bound: Titlebar Button 2 (X) # Purpose: When clicked, Raise the window Immediately. # If the button is pressed and released, Close the Window. If it is pressed # and held, Destroy it, and issue a Beep to confirm. # # There is a 100ms delay before issuing `Close` so I have a chance to see the # animation when the button changes from ActiveDown to ActiveUp :). # ################# DestroyFunc DestroyOnHold AddToFunc DestroyOnHold I Raise + C Schedule 200 Close + H Destroy + H Beep ##### # Miscellaneous Functions ################# AddToFunc Move-or-Raise + I FlipFocus + I Raise + M Move + D WindowShade Toggle AddToFunc Raise-Maybe-Move I Raise + M Move AddToFunc Resize-or-Raise I Raise + M Resize # If the gaps appearing in your IconBox annoy you, you can use this function # to arrange the icons after DeIconifying windows. AddToFunc DeiconifyAndRearrange + I Iconify off + I FlipFocus + I All (CurrentPage Iconic) PlaceAgain Icon #+ C All (CurrentPage Iconic) RecaptureWindow ##### # Telling a window that is already moving to AnimatedMove is not a good idea! # This function makes sure the user doesnt accidentally catch a window twice, by # setting one of the windows states while it is being moved. # # Every window has around 30 user definable states which you can test in # functions, you can use them for anything you like. ## DestroyFunc LockingSlide AddToFunc LockingSlide + I Test (!State 2) Break + I State 2 False + I AnimatedMove $0 $1 + I State 2 True DestroyFunc FuncFvwmViewManPage AddToFunc FuncFvwmViewManPage #+ I Exec exec xterm -fg $[fg.cs33] -bg $[bg.cs33] -g 80x40 -fn 7x14 -fb 7x14bold -n "Manual Page - $0" -T "Manual Page - $0" -e man "$0" + I Exec exec aterm -fn fixed -g 100x60 -n "ManPage - $0" -T "Manual Page - $0" -e man "$0" DestroyMenu MenuFvwmManPages AddToMenu MenuFvwmManPages "FVWM Man Pages" Title + "fvwm" FuncFvwmViewManPage fvwm + "FvwmAnimate" FuncFvwmViewManPage FvwmAnimate + "FvwmAuto" FuncFvwmViewManPage FvwmAuto + "FvwmBacker" FuncFvwmViewManPage FvwmBacker + "FvwmBanner" FuncFvwmViewManPage FvwmBanner + "FvwmButtons" FuncFvwmViewManPage FvwmButtons + "FvwmCommand" FuncFvwmViewManPage FvwmCommand + "FvwmConsole" FuncFvwmViewManPage FvwmConsole + "FvwmConsoleC.pl" FuncFvwmViewManPage FvwmConsoleC.pl + "FvwmCpp" FuncFvwmViewManPage FvwmCpp + "FvwmDebug" FuncFvwmViewManPage FvwmDebug + "FvwmDragWell" FuncFvwmViewManPage FvwmDragWell + "FvwmEvent" FuncFvwmViewManPage FvwmEvent + "FvwmForm" FuncFvwmViewManPage FvwmForm + "FvwmGtk" FuncFvwmViewManPage FvwmGtk + "FvwmGtkDebug" FuncFvwmViewManPage FvwmGtkDebug + "FvwmIconBox" FuncFvwmViewManPage FvwmIconBox + "FvwmIconMan" FuncFvwmViewManPage FvwmIconMan + "FvwmIdent" FuncFvwmViewManPage FvwmIdent + "FvwmM4" FuncFvwmViewManPage FvwmM4 + "FvwmPager" FuncFvwmViewManPage FvwmPager + "FvwmPerl" FuncFvwmViewManPage FvwmPerl + "FvwmProxy" FuncFvwmViewManPage FvwmProxy + "FvwmRearrange" FuncFvwmViewManPage FvwmRearrange + "FvwmSave" FuncFvwmViewManPage FvwmSave + "FvwmSaveDesk" FuncFvwmViewManPage FvwmSaveDesk + "FvwmScript" FuncFvwmViewManPage FvwmScript + "FvwmScroll" FuncFvwmViewManPage FvwmScroll + "FvwmTaskBar" FuncFvwmViewManPage FvwmTaskBar + "FvwmTheme" FuncFvwmViewManPage FvwmTheme + "FvwmWharf" FuncFvwmViewManPage FvwmWharf + "FvwmWinList" FuncFvwmViewManPage FvwmWinList + "FvwmWindowLister" FuncFvwmViewManPage FvwmWindowLister + "" Nop + "fvwm-config" FuncFvwmViewManPage fvwm-config + "fvwm-perllib" FuncFvwmViewManPage fvwm-perllib + "fvwm-root" FuncFvwmViewManPage fvwm-root + "" Nop + "fvwm-menu-desktop" FuncFvwmViewManPage fvwm-menu-desktop + "fvwm-menu-directory" FuncFvwmViewManPage fvwm-menu-directory + "fvwm-menu-headlines" FuncFvwmViewManPage fvwm-menu-headlines + "fvwm-menu-xlock" FuncFvwmViewManPage fvwm-menu-xlock + "" Nop + "fvwm-themes-config" FuncFvwmViewManPage fvwm-themes-config + "fvwm-themes-com" FuncFvwmViewManPage fvwm-themes-com + "fvwm-themes-images" FuncFvwmViewManPage fvwm-themes-images + "fvwm-themes-menuapp" FuncFvwmViewManPage fvwm-themes-menuapp + "fvwm-themes-start" FuncFvwmViewManPage fvwm-themes-start # By Ant: Style * MouseFocusClickRaises EdgeScroll 0 0 # The 3rd field is "context" and A means "any" i.e. the keybinding is always in effect. # The 4th field is for modifier keys: [C]ontrol, [S]hift, [M]eta (aka Alt), or [N]one. Key r A CM Restart Key F4 A M Close Key F1 A C Exec exec a /home/falling/.fvwm/.fvwm2rc Key b A SM Exec exec killall mozilla-bin Key b A CM Exec exec mozilla-go.sh Key c A SM Exec exec gcalctool Key d A CM All (CurrentPage AcceptsFocus) Iconify True Key e A CM Exec exec thunderbird Key f A CM Exec exec gftp Key f A CS Exec exec firefox Key f A SM Exec exec xterm -g 40x5 -hold -e "freeram 200000" Key f A SMC Exec exec xterm -g 40x5 -hold -e "freeram 250000" Key i A CM Exec exec gaim Key g A CM Exec exec gimp Key n A CS Exec exec a Key q A CM Quit Key z A CM Exec exec rox /home/falling/adata Key s A CM Exec exec a /home/falling/adata/scratch.txt Key t A CS Exec exec tvtime Key t A CM Exec exec xawtv -device /dev/video0 Key t A SM Exec exec xterm -hold -g 210x44 -e taillog -s Key v A CM Exec exec aumix Key v A CS Exec exec gnome-volume-control Key m A CM Exec exec xmms Key x A CM Exec exec xterm -sl 3000 -rightbar Key x A SM Exec exec xscreensaver-demo Key 1 A CS Exec exec xscreensaver-command -activate Key Print A N Exec exec gnome-panel-screenshot-with-delay Key Print A M Exec exec gnome-panel-screenshot-with-delay --window # Control+Alt+[arrowkey] switches desktops: Key Up A CM GotoPage 0p -1p Key Left A CM GotoPage -1p 0p Key Right A CM GotoPage +1p 0p Key Down A CM GotoPage 0p +1p Key Space A M Menu MenuFvwmWindowOps # These are the multimedia keys... I ran xev and pressed each one to find # its keycode, then I found this list of "XF86foo" keynames in the file # /usr/X11R6/include/X11/XF86keysym.h... I picked the ones that I wanted, # and set them to the keycodes by adding lines like this to ~/.xmodmaprc: # # keycode 223 = XF86Standby # # Then just make sure to run "xmodmap ~/.xmodmaprc" at the start of each # X session (by putting it into your .xinitrc file, for example). Key XF86Standby A N Exec exec xscreensaver-command -lock Key XF86AudioMute A N Exec exec mutetoggle Key XF86AudioLowerVolume A N Exec exec volumeant down Key XF86AudioRaiseVolume A N Exec exec volumeant up Key XF86AudioPlay A N Exec exec xmms -t Key XF86AudioStop A N Exec exec xmms -s Key XF86AudioPrev A N Exec exec xmms -r Key XF86AudioNext A N Exec exec xmms -f #Key XF86HomePage #Key XF86Mail #Key XF86Search Key XF86Start A N Exec exec /home/falling/adata/programs/play-random-album # New windows get focus: # http://www.fvwm.org/documentation/faq/#3.18 *FvwmEvent-NewWindow: StartDelay 4 *FvwmEvent-NewWindow: add_window FuncFocusWindow DestroyFunc FuncFocusWindow AddToFunc FuncFocusWindow + I FlipFocus #+ I WarpToWindow AddToFunc StartFunction I FvwmEvent FvwmEvent-NewWindow # Trying to get Alt-Tab to be sane... # WindowListFunc is a built-in that is called automatically whenever the use # selects a window from a WindowList (like the Alt-Tab WindowList). The # default definition of WindowListFunc is: # # AddToFunc WindowListFunc # + I Iconify off # + I FlipFocus # + I Raise # + I WarpToWindow 5p 5p # DestroyFunc WindowListFunc AddToFunc WindowListFunc + I DeiconifyAndRearrange + I Raise #Key Tab A M WindowList Root c c CurrentAtEnd, NoDeskSort, NoGeometry, SelectOnRelease Meta_L Key Tab A M WindowList (CurrentPage) Root c c NoDeskSort, NoGeometry, SelectOnRelease Meta_L, NoCurrentDeskTitle Style * IconBox 500x50+500-25 #Style aterm NoTitle Style FvwmButtonsAnt NoTitle, WindowListSkip, CirculateSkip, Sticky, BorderWidth 0, NoHandles, StaysOnTop, NeverFocus Style FvwmButtonsAntTop NoTitle, WindowListSkip, CirculateSkip, Sticky, BorderWidth 0, NoHandles, StaysOnBottom, NeverFocus DestroyModuleConfig FvwmButtonsAntTop: * *FvwmButtonsAntTop: Colorset 20 *FvwmButtonsAntTop: Frame 0 *FvwmButtonsAntTop: Padding 0 0 *FvwmButtonsAntTop: Rows 1 *FvwmButtonsAntTop: Columns 1 *FvwmButtonsAntTop: (1x1, Frame 0) #Colorset 20 RootTransparent, bg average, Tint black 20, bgTint black 20 Colorset 20 fg white, bg black DestroyModuleConfig FvwmButtonsAnt: * *FvwmButtonsAnt: Colorset 20 *FvwmButtonsAnt: Frame 0 *FvwmButtonsAnt: Padding 0 0 *FvwmButtonsAnt: Rows 1 *FvwmButtonsAnt: Columns 1 *FvwmButtonsAnt: (1x1, Frame 0, Padding 0 0, Swallow "antsysmon2" `Exec aterm -fg white -bg black -cr black -bw 0 -sl 0 +sb -fn 6x10 -title antsysmon2 -e /home/falling/adata/programs/antsysmon --preset ant-full`)