OpenBSD manual page server

Manual Page Search Parameters

CWMRC(5) File Formats Manual CWMRC(5)

cwmrccalm window manager configuration file

This manual page describes the 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:

group windowclass
 
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).

keys command
Cause the creation of a key binding, or replacement of a default key binding. The modifier keys come first, followed by a ‘-’.

The following modifiers are recognised:

Control key.
Meta key.
Shift key.
Mod4 (windows) key.

The ‘-’ should be followed by a keysym name, taken from /usr/X11R6/include/X11/keysymdef.h. The command may either be one from the BIND COMMAND LIST (see below) or the command line that is to be executed.

A special command keyword “unmap” can be used to remove the named key binding. This can be used to remove a binding which conflicts with an application.

pixels
Set the window border width to pixels.

color
Set the color of the active border.

color
Set menu font color.

color
Set font color for selected menu item.

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

color
Set the color of the inactive border.

color
Set menu background color.

color
Set menu foreground color.

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

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

name path
Every name entry is shown in the application menu. When selected, the defined path is executed with execve(2).

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.

font
Change the default font for Xft(3).

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.

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

buttons command
Cause the creation of a mouse binding, or replacement of a default mouse binding. The modifier keys come first, followed by a ‘-’.

The following modifiers are recognised:

Control key.
Meta key.
Shift key.
Mod4 (windows) key.

The ‘-’ should be followed by number:

Left mouse button.
Middle mouse button.
Right mouse button.
Scroll up mouse button.
Scroll down mouse button.

The command may be taken from the MOUSEBIND COMMAND LIST (see below).

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

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

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

restart
Restart the running cwm(1).
quit
Quit cwm(1).
terminal
Spawn a new terminal.
lock
Lock the screen.
search
Launch window search menu.
menusearch
Launch application search menu.
groupsearch
Launch group search menu.
exec
Launch “exec program” menu.
exec_wm
Launch “exec WindowManager” menu.
ssh
Launch “ssh” menu.
group[n]
Select group n, where n is 1-9.
grouponly[n]
Like group[n] but also hides the other groups.
nogroup
Select all groups.
grouptoggle
Toggle group membership of current window.
movetogroup[n]
Hide current window from display and move to group n, where n is 1-9.
cyclegroup
Forward cycle through groups.
rcyclegroup
Reverse cycle through groups.
cycle
Forward cycle through windows.
rcycle
Reverse cycle through windows.
cycleingroup
Forward cycle through windows in current group.
rcycleingroup
Reverse cycle through windows in current group.
delete
Delete current window.
hide
Hide current window.
lower
Lower current window.
raise
Raise current window.
label
Label current window.
freeze
Freeze current window geometry.
sticky
Stick current window to all groups (same as assigning to nogroup).
fullscreen
Full-screen current window (gap + border removed).
maximize
Maximize current window (gap + border honored).
vmaximize
Vertically maximize current window (gap + border honored).
hmaximize
Horizontally maximize current window (gap + border honored).
moveup
Move window moveamount pixels up.
movedown
Move window moveamount pixels down.
moveright
Move window moveamount pixels right.
moveleft
Move window moveamount pixels left.
bigmoveup
Move window 10 times moveamount pixels up.
bigmovedown
Move window 10 times moveamount pixels down.
bigmoveright
Move window 10 times moveamount pixels right.
bigmoveleft
Move window 10 times moveamount pixels left.
resizeup
Resize window moveamount pixels up.
resizedown
Resize window moveamount pixels down.
resizeright
Resize window moveamount pixels right.
resizeleft
Resize window moveamount pixels left.
bigresizeup
Resize window 10 times moveamount pixels up.
bigresizedown
Resize window 10 times moveamount pixels down.
bigresizeright
Resize window 10 times moveamount pixels right.
bigresizeleft
Resize window 10 times moveamount pixels left.
ptrmoveup
Move pointer moveamount pixels up.
ptrmovedown
Move pointer moveamount pixels down.
ptrmoveright
Move pointer moveamount pixels right.
ptrmoveleft
Move pointer moveamount pixels left.
bigptrmoveup
Move pointer 10 times moveamount pixels up.
bigptrmovedown
Move pointer 10 times moveamount pixels down.
bigptrmoveright
Move pointer 10 times moveamount pixels right.
bigptrmoveleft
Move pointer 10 times moveamount pixels left.
htile
Current window is placed at the top of the screen and maximized horizontally, other windows in its group share remaining screen space.
vtile
Current window is placed on the left of the screen and maximized vertically, other windows in its group share remaining screen space.

window_move
Move current window.
window_resize
Resize current window.
window_lower
Lower current window.
window_raise
Raise current window.
window_hide
Hide current window.
window_grouptoggle
Toggle group membership of current window.
cyclegroup
Forward cycle through groups.
rcyclegroup
Reverse cycle through groups.
menu_group
Launch group list.
menu_unhide
Launch hidden window list.
menu_cmd
Launch command list.

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

# 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 CM-r	label
bind CS-Return	"xterm -e top"
bind 4-o	unmap
bind CM-equal	unmap
bind CMS-equal	unmap
bind C4-equal	vmaximize
bind C4S-equal	hmaximize
bind M-1	grouponly1
bind M-2	grouponly2
bind M-3	grouponly3
bind MS-1	movetogroup1
bind MS-2	movetogroup2
bind MS-3	movetogroup3

# Mouse bindings
mousebind M-2	window_lower
mousebind M-3	window_resize

cwm(1)

The cwmrc file format first appeared in OpenBSD 4.4.

July 12, 2015 OpenBSD-6.0