summaryrefslogtreecommitdiff
path: root/examples/system.fvwm2rc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/system.fvwm2rc')
-rw-r--r--examples/system.fvwm2rc381
1 files changed, 381 insertions, 0 deletions
diff --git a/examples/system.fvwm2rc b/examples/system.fvwm2rc
new file mode 100644
index 0000000..ce60e78
--- /dev/null
+++ b/examples/system.fvwm2rc
@@ -0,0 +1,381 @@
+#
+# Configuration file for fvwm2
+# by Lars Wirzenius
+# "@(#):$Id: system.fvwm2rc,v 1.1 2003-04-07 17:04:19 ballombe Exp $"
+#
+# This file can be used both as the system.fvwmrc and the per-user ~/.fvwm2rc.
+# It uses certain `hooks' (files stored in /etc/X11/fvwm2 or ~/.fvwm2) to allow
+# the system administrator and user to modify menus, colors, and so on without
+# having to change this file.
+#
+# The defaults that this file sets up follow my own taste. They attempt to set
+# up a nice, easy, comfortable environment for the "ordinary" user. However,
+# using the hooks, it should be possible to change anything.
+#
+# Please read /usr/doc/fvwm2/README.sysrc for more information.
+#
+# Hopefully, you will never have to modify this file.
+#
+
+#
+# Section: pre.hook
+#
+# Use pre.hook for things that need to be done before anything else.
+# For example, a PixmapPath might be defined here.
+#
+Style "Fvwm Pager" StaysOnTop
+Style "FvwmPager" StaysOnTop
+Style "Fvwm*" NoTitle, NoHandles, Sticky, WindowListSkip,
+Style "Fvwm*" BorderWidth 0,CirculateSkipIcon
+Style "*" SmartPlacement
+Style "*" RandomPlacement
+Style "Xlock" NoTitle
+Style "xlock" NoTitle
+Module FvwmPager 0 3
+*FvwmButtons(4x1) - whatever Swallow "FvwmPager" Module FvwmPager 0 3
+*FvwmPagerBack #908090
+*FvwmPagerFore #484048
+*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
+*FvwmPagerHilight #cab3ca
+*FvwmPagerGeometry -1-1
+#*FvwmPagerLabel 0 Misc
+#*FvwmPagerLabel 1 Maker
+#*FvwmPagerLabel 2 Mail
+#*FvwmPagerLabel 3 Matlab
+*FvwmPagerSmallFont 5x8
+
+
+Read /etc/X11/fvwm2/pre.hook
+Read .fvwm2/pre.hook
+
+
+#
+# Section: Various global settings
+#
+# These settings are personal. If you need to modify them, do so in post.hook.
+#
+#
+# DeskTopSize sets the size of the desktop in units of physical screen
+# `pages'. I prefer to use separate desktops instead of pages, but
+# many reasonable people do it the other way. My reason is that this
+# makes it possible to have different backgrounds when changing the
+# workspace.
+#
+
+DeskTopSize 3x3
+
+#
+# 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 0 0
+
+#
+# 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 0 100
+
+
+#
+# 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.
+#
+
+Style "*" Color black/darkgrey
+HilightColor white steelblue
+WindowFont -adobe-helvetica-bold-r-*-*-12-*
+
+#
+# The following sets the window decorations: the window title, borders,
+# and the handles in the corners.
+#
+
+ButtonStyle 2 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 5 25x25@1 25x75@1 75x75@0 75x25@0 25x25@1
+ButtonStyle 6 2 80x76@0 20x76@1
+
+Style "*" BorderWidth 6
+Style "*" HandleWidth 6
+Style "*" MWMBorder
+Style "*" MWMDecor
+Style "*" DecorateTransient
+Style "*" SmartPlacement
+Style "*" RandomPlacement
+Style "*" IconBox 0 0 50 -1
+
+Style "Fvwm*" NoTitle
+Style "Fvwm*" WindowListSkip
+Style "Fvwm*" CirculateSkip
+
+Style "FvwmButtons" Sticky
+Style "FvwmIconMan" Sticky
+
+Style "FvwmIdent" Title
+Style "FvwmIdent" WindowListHit
+Style "FvwmIdent" CirculateHit
+
+
+#
+# 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.
+#
+
+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
+
+#
+# The main menu.
+#
+
+###DestroyMenu MainMenu
+###AddToMenu MainMenu
+###+ "Main menu" Title
+###Read /etc/X11/fvwm2/main-menu-pre.hook
+###Read .fvwm2/main-menu-pre.hook
+###Read /etc/X11/fvwm2/main-menu.hook
+###Read .fvwm2/main-menu.hook
+###+ "" Nop
+###+ "Exit Fvwm" Popup Quit-Verify
+###
+####
+# Read in system and user menu definitions.
+#
+
+Read /etc/X11/fvwm2/menudefs.hook
+Read .fvwm2/menudefs.hook
+
+#
+# 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)Maximize vertical" Maximize 0 100
++ "(Un)Maximize horizontal" Maximize 100 0
++ "(Un)Maximize to screen" Maximize 100 100
++ "" 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 1 T A move-or-raise
+Mouse 2 T A move-and-raise-or-raiselower
+Mouse 3 T A move-or-lower
+Mouse 0 F A resize-or-raiselower
+Mouse 1 S A move-or-raise
+Mouse 2 S A move-and-raise-or-raiselower
+Mouse 3 S A move-or-lower
+
+
+#
+# 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.
+#
+
+Key Tab A M Next [CurrentDesk !iconic] Focus
+Key Tab A MS Prev [CurrentDesk !iconic] Focus
+Key Tab A CM Next [CurrentDesk] deiconify-and-focus
+Key Tab A CMS Prev [CurrentDesk] deiconify-and-focus
+Key Left A M Desk -1 0
+Key Up A M Desk -1 0
+Key Right A M Desk 1 0
+Key Down A M Desk 1 0
+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 F1 A C exec /usr/bin/X11/xterm_color -sb -sl 500 -j -ls -fn 7x14 -geometry 80x30
+#
+# 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".
+#
+
+DestroyMenu move-or-winmenu-or-deiconify
+AddToFunc move-or-winmenu-or-deiconify
++ "M" Move
++ "C" Popup Window-Ops
++ "D" Iconify
+
+DestroyMenu deiconify-and-focus
+AddToFunc deiconify-and-focus
++ "I" Iconify -1
++ "I" Focus
+
+DestroyMenu deiconify-and-raise
+AddToFunc deiconify-and-raise
++ "I" Iconify -1
++ "I" Raise
+
+DestroyMenu move-or-raiselower
+AddToFunc move-or-raiselower
++ "M" Move
++ "C" RaiseLower
+
+DestroyMenu move-or-raise
+AddToFunc move-or-raise
++ "M" Move
++ "C" Raise
+
+DestroyMenu move-or-lower
+AddToFunc move-or-lower
++ "M" Move
++ "C" Lower
+
+DestroyMenu move-and-raise-or-raiselower
+AddToFunc move-and-raise-or-raiselower
++ "M" Move
++ "M" Raise
++ "C" RaiseLower
+
+DestroyMenu move-or-raiselower-or-maximize-vertical
+AddToFunc move-or-raiselower-or-maximize-vertical
++ "M" Move
++ "C" RaiseLower
++ "D" Maximize 0 100
+
+DestroyMenu resize-or-raiselower
+AddToFunc resize-or-raiselower
++ "M" Resize
++ "C" RaiseLower
+
+#
+# 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