Provided by: cwm_6.6-2_amd64 bug

NAME

     cwmrc — calm window manager configuration file

DESCRIPTION

     This manual page describes the openbsd-cwm(1) configuration file.

     The current line can be extended over multiple lines using a backslash (‘\’).  Comments can
     be put anywhere in the file using a hash mark (‘#’), and extend to the end of the current
     line.  Care should be taken when commenting out multi-line text: the comment is effective
     until the end of the entire block.

     Arguments containing whitespace should be surrounded by double quotes (").

     The following options are accepted:

     autogroup group windowclass
     autogroup group windowname,windowclass
             Automatically add new windows to group if their class property matches windowclass,
             or if their name and class properties match windowname and windowclass,
             respectively.  The more specific last match wins.  group is a number between 0 and
             9.  If group is 0, matching windows will not be added to any group; this may be used
             to override “sticky group mode”.

             The name and class values, respectively, for existing windows are both set in the
             WM_CLASS property and may be obtained using xprop(1).

     bind-key key function
             Bind or rebind key key to function.  The modifier keys come first, followed by a
             ‘-’, then a keysym name, taken from /usr/X11R6/include/X11/keysymdef.h.

             The following modifiers are recognised:

                   C       Control key.
                   M       Meta key.
                   S       Shift key.
                   4       Mod4 (windows) key.

             The function may either be one from the BIND FUNCTION LIST (see below) or the
             command line that is to be executed.

     bind-mouse button function
             Bind or rebind button button to function.  The modifier keys come first, followed by
             a ‘-’, then the button number.

             The following modifiers are recognised:

                   C       Control key.
                   M       Meta key.
                   S       Shift key.
                   4       Mod4 (windows) key.

             The following buttons are recognised:

                   1       Left mouse button.
                   2       Middle mouse button.
                   3       Right mouse button.
                   4       Scroll up mouse button.
                   5       Scroll down mouse button.

             The function may be taken from the BIND FUNCTION LIST (see below) or the command
             line that is to be executed.

     borderwidth pixels
             Set the window border width to pixels.

     color activeborder color
             Set the color of the active border.

     color font color
             Set menu font color.

     color selfont color
             Set font color for selected menu item.

     color groupborder color
             Set the color of the border while grouping a window.

     color inactiveborder color
             Set the color of the inactive border.

     color menubg color
             Set menu background color.

     color menufg color
             Set menu foreground color.

     color urgencyborder color
             Set the color of the border of a window indicating urgency.

     color ungroupborder color
             Set the color of the border while ungrouping a window.

     command name path
             Every name entry is shown in the application menu.  When selected, the defined path
             is executed with execvp(3).

             The name entries term and lock have a special meaning.  They point to the terminal
             and screen locking programs specified by key bindings.  The defaults are xterm(1)
             and xlock(1), respectively.

     fontname font
             Change the default font for Xft(3).

     gap top bottom left right
             Define a “gap” in pixels at the edge of the screen, so that when a window is
             maximized it will not overlap this area.  This “gap” can be used for applications
             such as xclock(1), where the user may wish to remain visible.

     ignore windowname
             Ignore, and do not warp to, windows with the name windowname when drawing borders
             and cycling through windows.

     moveamount pixels
             Set a default size for the keyboard movement bindings, in pixels.  The default is 1.

     snapdist pixels
             Minimum distance to snap-to adjacent edge, in pixels.  The default is 0.

     sticky yes|no
             Toggle sticky group mode.  The default behavior for new windows is to not assign any
             group.  By enabling sticky group mode, openbsd-cwm(1) will assign new windows to the
             currently selected group.

     unbind-key key
             Unbind function bound to key.  A special key keyword “all” can be used to unbind all
             keys.

     unbind-mouse button
             Unbind function bound to button.  A special button keyword “all” can be used to
             unbind all buttons.
     wm name path
             Every name entry is shown in the wm menu.  When selected, the window manager is
             replaced by path.

BIND FUNCTION LIST

     restart                  Restart the running openbsd-cwm(1).
     quit                     Quit openbsd-cwm(1).
     terminal                 Spawn a new terminal.
     lock                     Lock the screen.
     menu-window              Launch window search menu.
     menu-window-hidden       Launch hidden window search menu.
     menu-cmd                 Launch application search menu.
     menu-group               Launch group search menu.
     menu-exec                Launch “exec program” menu.
     menu-exec-wm             Launch “exec WindowManager” menu.
     menu-ssh                 Launch “ssh” menu.
     group-toggl\-[n]         Toggle visibility of group n, where n is 1-9.
     group-only-[n]           Show only group n, where n is 1-9, hiding other groups.
     group-close-[n]          Close all windows in group n, where n is 1-9.
     group-toggle-all         Toggle visibility of all groups.
     window-group             Toggle group membership of current window.
     window-movetogroup-[n]   Hide current window from display and move to group n, where n is
                              1-9.
     group-cycle              Forward cycle through groups.
     group-rcycle             Reverse cycle through groups.
     window-cycle             Forward cycle through windows.
     window-rcycle            Reverse cycle through windows.
     window-cycle-ingroup     Forward cycle through windows in current group.
     window-rcycle-ingroup    Reverse cycle through windows in current group.
     window-close             Close current window.
     window-hide              Hide current window.
     window-lower             Lower current window.
     window-raise             Raise current window.
     window-menu-label        Label current window.
     window-freeze            Freeze current window geometry.
     window-stick             Stick current window to all groups (same as assigning to nogroup).
     window-fullscreen        Full-screen current window (gap + border removed).
     window-maximize          Maximize current window (gap + border honored).
     window-vmaximize         Vertically maximize current window (gap + border honored).
     window-hmaximize         Horizontally maximize current window (gap + border honored).
     window-htile             Current window is placed at the top of the screen, maximized
                              horizontally and resized to half of the vertical screen space.
                              Other windows in its group share remaining screen space.
     window-vtile             Current window is placed on the left of the screen, maximized
                              vertically and resized to half of the horizontal screen space.
                              Other windows in its group share remaining screen space.
     window-move              Move current window.
     window-resize            Resize current window.
     window-move-up           Move window moveamount pixels up.
     window-move-down         Move window moveamount pixels down.
     window-move-right        Move window moveamount pixels right.
     window-move-left         Move window moveamount pixels left.
     window-move-up-big       Move window 10 times moveamount pixels up.
     window-move-down-big     Move window 10 times moveamount pixels down.
     window-move-right-big    Move window 10 times moveamount pixels right.
     window-move-left-big     Move window 10 times moveamount pixels left.
     window-resize-up         Resize window moveamount pixels up.
     window-resize-down       Resize window moveamount pixels down.
     window-resize-right      Resize window moveamount pixels right.
     window-resize-left       Resize window moveamount pixels left.
     window-resize-up-big     Resize window 10 times moveamount pixels up.
     window-resize-down-big   Resize window 10 times moveamount pixels down.
     window-resize-right-big  Resize window 10 times moveamount pixels right.
     window-resize-left-big   Resize window 10 times moveamount pixels left.
     window-snap-up           Snap window to top edge.
     window-snap-down         Snap window to bottom edge.
     window-snap-right        Snap window to right edge.
     window-snap-left         Snap window to left edge.
     window-snap-up-right     Snap window to top-right corner.
     window-snap-up-left      Snap window to top-left corner.
     window-snap-down-right   Snap window to bottom-right corner.
     window-snap-down-left    Snap window to bottom-left corner.
     pointer-move-up          Move pointer moveamount pixels up.
     pointer-move-down        Move pointer moveamount pixels down.
     pointer-move-right       Move pointer moveamount pixels right.
     pointer-move-left        Move pointer moveamount pixels left.
     pointer-move-up-big      Move pointer 10 times moveamount pixels up.
     pointer-move-down-big    Move pointer 10 times moveamount pixels down.
     pointer-move-right-big   Move pointer 10 times moveamount pixels right.
     pointer-move-left-big    Move pointer 10 times moveamount pixels left.

FILES

     ~/.cwmrc     Default openbsd-cwm(1) configuration file.

EXAMPLES

     # Set default Xft(3) font
     fontname "sans-serif:pixelsize=14:bold"

     # Turn on sticky-group mode
     sticky yes

     # Any entry here is shown in the application menu
     command firefox         firefox
     command xmms            xmms
     command top             "xterm -e top"

     # Autogroup definitions
     autogroup 3 "aterm,XTerm"
     autogroup 3 "xterm,XTerm"

     # Ignore programs by that name by not drawing borders around them.
     ignore XMMS
     ignore xwi
     ignore xapm
     ignore xclock

     # Key bindings
     bind-key CM-r           window-menu-label
     bind-key CS-Return      "xterm -e top"
     bind-key C4-equal       window-vmaximize
     bind-key C4S-equal      window-hmaximize
     bind-key M-1            group-only-1
     bind-key M-2            group-only-2
     bind-key M-3            group-only-3
     bind-key MS-1           window-movetogroup-1
     bind-key MS-2           window-movetogroup-2
     bind-key MS-3           window-movetogroup-3
     unbind-key 4-o
     unbind-key CM-equal
     unbind-key CMS-equal

     # Mouse bindings
     bind-mouse M-2          window-lower
     bind-mouse M-3          window-resize

SEE ALSO

     openbsd-cwm(1)

HISTORY

     The cwmrc file format first appeared in OpenBSD 4.4.