DragonFly On-Line Manual Pages
CWMRC(5) DragonFly File Formats Manual CWMRC(5)
NAME
cwmrc - calm window manager configuration file
DESCRIPTION
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:
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 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:
C The Control key.
M The Meta key.
S The Shift key.
4 The Mod4 key (normally the 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.
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 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.
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.
mousebind 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:
C The Control key.
M The Meta key.
S The Shift key.
4 The Mod4 key (normally the windows key).
The `-' should be followed by number:
1 Left mouse button.
2 Middle mouse button.
3 Right mouse button.
4 Scroll up mouse button.
5 Scroll down mouse button.
The command may be taken from the MOUSEBIND COMMAND LIST (see
below).
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,
cwm(1) will assign new windows to the currently selected group.
EXAMPLE CONFIGURATION
# 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
BIND COMMAND LIST
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.
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.
MOUSEBIND COMMAND LIST
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.
FILES
~/.cwmrc default cwm(1) configuration file
SEE ALSO
cwm(1)
HISTORY
The cwmrc file format first appeared in OpenBSD 4.4.
DragonFly 6.5-DEVELOPMENT January 28, 2025 DragonFly 6.5-DEVELOPMENT