NAME¶
openbsd-cwm
—
a lightweight and efficient window manager for
X11
SYNOPSIS¶
openbsd-cwm |
[ -c
file ]
[-d
display ] |
DESCRIPTION¶
openbsd-cwm
is a window manager for X11 which
contains many features that concentrate on the efficiency and transparency of
window management.
openbsd-cwm
also aims to
maintain the simplest and most pleasant aesthetic.
The following notation is used throughout this page:
C
- Control.
M
- Meta.
S
- Shift.
M1
- Left mouse button.
M2
- Middle mouse button.
M3
- Right mouse button.
openbsd-cwm
is very simple in its use. Most
of the actions are initiated via key bindings. The default key bindings are
described below; their functionality is described in more detail later.
CM-Return
- Spawn a new terminal.
CM-Delete
- Lock the screen.
M-Return
- Hide current window.
M-Down
- Lower current window.
M-Up
- Raise current window.
M-/
- Search for windows.
C-/
- Search for applications.
CM-n
- Label current window.
M-Tab
- Cycle through currently visible windows.
MS-Tab
- Reverse cycle through currently visible windows.
CM-x
- Delete current window.
CM-[n]
- Select group n, where n is 1-9.
CM-0
- Select all groups.
CM-g
- Toggle group membership of current window.
M-Right
- Cycle through active groups.
M-Left
- Reverse cycle through active groups.
CMS-f
- Toggle freezing geometry of current window.
CM-f
- Toggle full-screen mode of current window.
CM-m
- Toggle maximization of current window.
CM-=
- Toggle vertical maximization of current window.
CMS-=
- Toggle horizontal maximization of current window.
M-?
- Spawn “exec program” dialog.
M-.
- Spawn “ssh to” dialog. This parses
$HOME/.ssh/known_hosts to provide host
auto-completion. ssh(1) will be executed via
the configured terminal emulator.
CM-w
- Spawn “exec WindowManager” dialog; allows you to switch from
openbsd-cwm
to another window manager
without restarting the X server.
CMS-r
- Restart the running cwm(1).
CMS-q
- Quit
openbsd-cwm
.
The default mouse bindings are:
M-M1
- Move current window.
CM-M1
- Toggle group membership of current window.
M-M2
- Resize current window
M-M3
- Lower current window.
CMS-M3
- Hide current window.
The options for
openbsd-cwm
are as follows:
-c
file
- Specify an alternative configuration file. By default,
openbsd-cwm
loads
~/.cwmrc, if present. Any error
messages from lines in the configuration file will be sent to
stderr; however,
openbsd-cwm
will continue to process
the rest of the configuration file.
-d
display
- Specify the display to use.
POINTER MOVEMENT¶
The pointer can be moved with the use of the keyboard through bindings.
C-[Up|Down|Left|Right]
moves the pointer a
small amount, while
CS-[Up|Down|Left|Right]
moves the pointer a larger amount. For example, to move the pointer to the
left by a small amount, press
C-Left
. To
move the pointer down by a larger amount, press
CS-Down
.
WINDOW MOVEMENT AND RESIZING¶
openbsd-cwm
windows can be moved with the use
of the keyboard through
vi
-like bindings.
M-[hjkl]
moves the current window a small
amount, while
MS-[hjkl]
moves the current
window a larger amount. For example, to move the current window to the left a
small amount, press
M-h
. To move the
current window down by a larger amount, press
MS-j
.
Similarly, windows may be resized with the same key bindings with the addition
of the Control key.
CM-[hjkl]
resizes the
window a small amount and
CMS-[hjkl]
resizes by a larger increment.
SEARCH¶
openbsd-cwm
features the ability to search
for windows by their current title, old titles, and by their label. The
priority for the search results are: label, current title, old titles in
reverse order, and finally window class name.
openbsd-cwm
keeps a history of the 5
previous titles of a window.
When searching, the leftmost character of the result list may show a flag:
- !
- The window is the currently focused window.
- &
- The window is hidden.
The following key bindings may be used to navigate the result list:
[Down],
C-s
or
M-j
- Select the next window in the list.
[Up],
C-r
or
M-k
- Select the previous window in the list.
[Backspace]
or C-h
- Backspace.
C-u
- Clear the input.
[Return]
- Focus the selected window.
[Esc]
- Cancel.
C-a
- Whenever there are no matching windows, list every window.
GROUPS¶
openbsd-cwm
has the ability to group windows
together, and use the groups to perform operations on the entire group instead
of just one window. Currently, the only operation that is supported is to hide
and unhide the grouped windows. Together with the
sticky option, this can be used to emulate
virtual desktops.
To edit groups, use the group selection commands to toggle membership of a
group. A blue border will be shown briefly on windows added to the current
group, and a red border will be shown on those just removed.
Menus are recalled by clicking the mouse on the root window:
M1
- Show list of currently hidden windows. Clicking on an item will unhide
that window.
M2
- Show list of currently defined groups. Clicking on an item will
hide/unhide that group.
M3
- Show list of applications as defined in
~/.cwmrc. Clicking on an item will
spawn that application.
ENVIRONMENT¶
- DISPLAY
openbsd-cwm
starts on this display
unless the -d
option is given.
FILES¶
- ~/.cwmrc
-
SEE ALSO¶
cwmrc(5)
HISTORY¶
openbsd-cwm
was originally inspired by
evilwm, but was rewritten from scratch due to limitations in the evilwm
codebase. The from-scratch rewrite borrowed some code from 9wm, however that
code has since been removed or rewritten.
openbsd-cwm
first appeared in
OpenBSD 4.2.
AUTHORS¶
openbsd-cwm
was developed by
Marius Aamodt Eriksen
⟨marius@monkey.org⟩ with contributions from
Andy Adamson
⟨dros@monkey.org⟩,
Niels
Provos ⟨provos@monkey.org⟩, and
Antti Nykänen
⟨aon@iki.fi⟩. Ideas, discussion with many others.