Scroll to navigation

CWMRC(5) File Formats Manual CWMRC(5)

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:
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:
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.
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:
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).
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, openbsd-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 openbsd-cwm(1).
quit
Quit openbsd-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.
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 openbsd-cwm(1) configuration file

SEE ALSO

openbsd-cwm(1)

HISTORY

The cwmrc file format first appeared in OpenBSD 4.4.
December 16, 2013 Debian