# alt n goes next; alt p goes to prev; clock stops it from being circ. # modified version of debian .fvwm2rc file modified for wearcomps # (modified from original file of Lars Wirzenius) #Read /etc/X11/fvwm2/pre.hook #Read .fvwm2/pre.hook # DeskTopSize sets the size of the desktop in units of physical screen # `pages'. I prefer to use a single desktop with multiple pages, # but many people like having multiple desktops. I thinks its confusing. DeskTopSize 1x1 # I don't like to be able to move between pages or desks simply by # moving the mouse against the screen border. I find it very # confusing. The following command disables it. EdgeScroll 100 100 # When moving a window against the edge of the screen, it is # nice to have a small resistance before the window is moved outside # the screen. This makes it easier to line windows against the # edges. EdgeResistance 250 5 # Section: Styles, colors, fonts, and related things # # This section defines the looks, behavior, and other attributes of windows. # These are also quite personal. Modify them in post.hook. # # # The following sets window colors. This is highly personal, # of course. # Put the defaults in a separate decor so decor users can ignore them DestroyDecor default-decor AddToDecor default-decor + HilightColor white steelblue + WindowFont -adobe-helvetica-bold-r-*-*-24-* # The following sets the window decorations: the window title, borders, # and the handles in the corners. + ButtonStyle Reset + ButtonStyle 2 Vector 16 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1 + ButtonStyle 4 Vector 5 25x25@1 25x75@1 75x75@0 75x25@0 25x25@1 + ButtonStyle 6 Vector 2 80x76@0 20x76@1 # make the default decor the default: Style "default-style" UseDecor default-decor, Color black/darkgray Style "*" UseStyle default-style Style "*" BorderWidth 2 Style "*" HandleWidth 6 Style "*" MWMBorder Style "*" MWMDecor Style "*" DecorateTransient Style "*" SmartPlacement Style "*" RandomPlacement Style "*" IconBox 0 0 50 -1 Style "*clock*" NoTitle Style "Fvwm*" NoTitle Style "Fvwm*" WindowListSkip Style "Fvwm*" CirculateSkip Style "FvwmButtons" Sticky Style "FvwmIconMan" Sticky Style "FvwmPager" Sticky, StaysOnTop, Handles, HandleWidth 5 Style "FvwmIdent" Title Style "FvwmIdent" WindowListHit Style "FvwmIdent" CirculateHit # Add icons to some common programs Style "emacs" Icon gnu-animal.xpm Style "xterm" Icon xterm-linux.xpm Style "ghostview" Icon gv.xpm Style "Gnuplot" Icon graphs.xpm Style "xcalc" Icon xcalc.xpm Style "xbiff" Icon mail1.xpm Style "xman" Icon xman.xpm Style "xmag" Icon mag_glass.xpm Style "Mosaic" Icon Mosaic.xpm Style "xpaint" Icon xpaint.xpm Style "Manual Page" Icon xman.xpm Style "xedit" Icon textedit.xpm Style "*" Icon default.xbm # # Section: Init and restart functions # # This section defines the functions InitFunction and RestartFunction. # InitFunction is executed automatically when fvwm first starts. # RestartFunction is executed automatically when fvwm restarts itself. # They share a common hook, init-restart.hook, and two specific hooks, # init.hook and restart.hook. # # init-restart.hook should be used for starting fvwm modules, such as the # button bar. init-hook should be used to start other applications; they # should not be started again, when fvwm is restarted, since they don't # die like fvwm modules do. restart.hook exists mostly for completeness; # tell me if you find any use for it. # # InitFunction runs the script setup-background, which looks in # ~/.fvwm2 to see if the user wants some specific background color or # image. # # The init.hook, init-restart.hook and restart.hook files should # contain continuation lines, eg: # + "I" Exec xterm # DestroyMenu InitFunction AddToFunc InitFunction + "I" Exec setup-background Read /etc/X11/fvwm2/init.hook Read /etc/X11/fvwm2/init-restart.hook Read .fvwm2/init.hook Read .fvwm2/init-restart.hook DestroyMenu RestartFunction AddToFunc RestartFunction Read /etc/X11/fvwm2/restart.hook Read /etc/X11/fvwm2/init-restart.hook Read .fvwm2/restart.hook Read .fvwm2/init-restart.hook # # Section: Menus # # This section defines a small menu structure. The main menu contains # some typical entries, and uses a hook (main-menu.hook) to allow the # user to add new entries. Most of the default entries are submenus, # which are also defined here. # # # MWM style menus are easier to use and better for Windows refugees. # MenuStyle black grey white -adobe-helvetica-bold-r-*-*-12-* mwm # # Read in system and user menu definitions. # # Read system and user menu prefixes AddToMenu /Debian + "Main Menu" Title Read /etc/X11/fvwm2/main-menu-pre.hook Read .fvwm2/main-menu-pre.hook # Read the auto-generated menus Read /etc/X11/fvwm2/menudefs.hook Read .fvwm2/menudefs.hook # Add in user additions Read /etc/X11/fvwm2/main-menu.hook Read .fvwm2/main-menu.hook # Tack a quit entry on to the end AddToMenu /Debian + "" Nop + "Exit Fvwm" Popup Quit-Verify # # The Window-Ops menu is for manipulating windows. It is invoked either # from the main menu, or directly from the root window. # DestroyMenu Window-Ops AddToMenu Window-Ops + "Window Ops" Title + "Move" Move + "Resize" Resize + "Raise" Raise + "Lower" Lower + "(De)Iconify" Iconify + "(Un)Stick" Stick + "(Un)Shade" WindowShade + "(Un)Maximize vertical" Maximize 0 100 + "(Un)Maximize horizontal" Maximize 100 0 + "(Un)Maximize to screen" Maximize 100 100 + "" Nop + "ScrollBar" Module FvwmScroll 2 2 + "" Nop + "Destroy" Destroy + "Close" Close # # Quit-Verify checks that the user really wants to exit. # DestroyMenu Quit-Verify AddToMenu Quit-Verify + "Restart Fvwm" Restart fvwm2 + "" Nop + "Really quit" Quit # # Section: Mouse bindings # # This section defines the mouse bindings, that is, all the things that # can be done with the mouse. # # # Each button gives a different menu from the background. # Mouse 1 R A Menu /Debian Mouse 2 R A Menu Window-Ops Mouse 3 R A WindowList # # Moving and resizing, depending on which part of the window # you grab (T=title bar, S=side/top/bottom, F=corner). # Mouse 0 T A move-and-raise-or-raiselower Mouse 0 W M move-and-raise-or-raiselower Mouse 0 F A resize-or-raiselower Mouse 0 S A resize-or-raiselower # # Move or de-iconify an icon. # Mouse 0 I A move-or-winmenu-or-deiconify # # Buttons on the title bar (1,3,5,7,9 are on the left, 0,8,6,4,2 on # the right side of the title bar). Note that the bindings here # make more sense if the ButtonStyle's defined earlier are retained. # Mouse 0 1 A Popup Window-Ops Mouse 0 2 A Close Mouse 0 4 A Maximize 0 100 Mouse 0 6 A Iconify # # Section: Key bindings # # This section binds some actions to keys. The bindings have been inspired # by MWM, Windows, and nightmares. Everything that these key bindings do, # can be done without them. Therefore they should not be too much of a # burden on new users, but it definitely _can_ be confusing to press a # key by accident and have it do something completely unexpected. # the first 2 lines below define next and previous window selectors Key n A M Next [CurrentPage !iconic] focus-and-raise Key p A M Prev [CurrentPage !iconic] focus-and-raise Key Tab A CM Next [CurrentPage] deiconify-and-focus Key Tab A CMS Prev [CurrentPage] deiconify-and-focus Key Left A M Scroll -100 0 Key Up A M Scroll +0 -100 Key Right A M Scroll +100 +0 Key Down A M Scroll +0 +100 Key F1 A M Popup Window-Ops Key F2 A M Popup /Debian Key F3 A M Lower Key F4 A M WindowList Key F5 A M CirculateUp Key F6 A M CirculateDown Key F7 A M Move Key F8 A M Resize Key F9 A M Iconify Key F10 A M Maximize Key n A CS CirculateUp Key p A CS CirculateDown Key u A CS Raise Key d A CS Lower Key v A CS CirculateUp "xcaplive" xcaplive #problem with this being the same as altvt7 on twiddler Key c A CS CirculateUp "oclock " oclock #Key c A CS CirculateUp "oclock " oclock Key t A M CirculateUp "oclock " oclock #problem with this being the same as alt vt8 on twiddler #Key g A CS CirculateUp "glynx" glynx Key w A M CirculateUp "glynx" glynx Key o A M CirculateUp "current frames" current frames # Section: Functions # # This section defines various functions. Not all of these are used by # the default bindings, but they can be useful for a user who wants to # customize things. # # # The following functions operate on a window or menu. The # names are systematic: foo means "do foo"; foo-or-bar means # "do foo, if mouse is moving, bar if click"; and foo-or-bar-or-baz # adds "baz, if double-clicked". # DestroyFunc move-or-winmenu-or-deiconify AddToFunc move-or-winmenu-or-deiconify + "M" Move + "C" Popup Window-Ops + "D" Iconify DestroyFunc deiconify-and-focus AddToFunc deiconify-and-focus "I" Iconify -1 + "I" Focus DestroyFunc deiconify-and-raise AddToFunc deiconify-and-raise "I" Iconify -1 + "I" Raise DestroyFunc focus-and-raise AddToFunc focus-and-raise "I" Focus + "I" Raise DestroyFunc move-or-raiselower AddToFunc move-or-raiselower + "M" Move + "C" RaiseLower DestroyFunc move-and-raise-or-raiselower AddToFunc move-and-raise-or-raiselower + "M" Move + "M" Raise + "C" RaiseLower DestroyFunc move-or-raiselower-or-maximize-vertical AddToFunc move-or-raiselower-or-maximize-vertical + "M" Move + "C" RaiseLower + "D" Maximize 0 100 DestroyFunc resize-or-raiselower AddToFunc resize-or-raiselower + "M" Resize + "C" RaiseLower # # Configure a FvwmButtons module for the modules menu, but make sure # user can easily override it with their own - so name it DebianFvwmButtons. # To use this config, you need to invoke it as: # "Module FvwmButtons DebianFvwmButtons" # *DebianFvwmButtonsFore White *DebianFvwmButtonsBack DarkSlateGrey *DebianFvwmButtonsGeometry 430x100-0-0 *DebianFvwmButtonsRows 1 *DebianFvwmButtons(Title Help, Icon xman.xpm, Action 'Exec "Xman" xman &') *DebianFvwmButtons(Title xterm, Icon xterm.xpm, Action 'Exec "XTerm" xterm &') *DebianFvwmButtons(Title emacs, Icon gnu-animal.xpm, Action 'Exec "Emacs" emacs &') *DebianFvwmButtons(2x1, Swallow(UseOld,NoKill) "FvwmPager") # # Configure the FvwmPager module # *FvwmPagerBack SlateGrey *FvwmPagerFore Black *FvwmPagerFont none *FvwmPagerHilight SlateBlue4 *FvwmPagerGeometry -1-1 *FvwmPagerSmallFont -*-times-medium-r-*-*-*-80-*-*-*-*-*-* *FvwmPagerDeskTopScale 1000 # 32 is default size of above, but 1000 makes it small and out of the way # # Section: post.hook # # Use post.hook to force things that may have been changed earlier, for # example, key bindinds. # Read /etc/X11/fvwm2/post.hook Read .fvwm2/post.hook # Now start pager Module FvwmPager 0 0