4869cf83ca
with aon@iki.fi
254 lines
6.2 KiB
Groff
254 lines
6.2 KiB
Groff
.\" $OpenBSD: cwm.1,v 1.6 2007/06/06 22:08:02 jasper Exp $
|
||
.\"
|
||
.\" The following requests are required for all man pages.
|
||
.Dd July 10, 2004
|
||
.Dt CWM 1
|
||
.Os
|
||
.Sh NAME
|
||
.Nm cwm
|
||
.Nd a lightweight and efficient window manager for X11
|
||
.Sh SYNOPSIS
|
||
.\" For a program: program [-abc] file ...
|
||
.Nm cwm
|
||
.Op Fl d Ar display
|
||
.Op Fl s
|
||
.Op Fl f Ar fontname
|
||
.Sh DESCRIPTION
|
||
.Nm
|
||
is a window manager for X11.
|
||
It 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.
|
||
.Nm
|
||
contains many new features which all concentrate on the efficiency and
|
||
transparency of window management.
|
||
.Nm
|
||
also aims to maintain the most simplest and pleasant aesthetic.
|
||
.Sh BASIC OPERATION
|
||
We will adopt the following notation:
|
||
.Pp
|
||
.Bl -tag -width 10n -offset -indent -compact
|
||
.It Fa C
|
||
Control
|
||
.It Fa M
|
||
Meta (Alt on PCs)
|
||
.It Fa S
|
||
Shift
|
||
.It Fa M1
|
||
Left mouse button
|
||
.It Fa M2
|
||
Middle mouse button
|
||
.It Fa M3
|
||
Right mouse button
|
||
.El
|
||
.Pp
|
||
.Nm
|
||
is very simple in its use.
|
||
Most of the actions are initiated via keybindings.
|
||
The current keybindings are described below, their functionality
|
||
is described in more detail later.
|
||
.Pp
|
||
.Bl -tag -width 10n -offset -indent -compact
|
||
.It Fa C-M-Enter
|
||
Spawn a new terminal.
|
||
.It Fa C-M-Delete
|
||
Lock the screen.
|
||
.It Fa M-Enter
|
||
Hide current window.
|
||
.It Fa M-Down
|
||
Lower current window.
|
||
.It Fa M-Up
|
||
Raise current window.
|
||
.It Fa M-/
|
||
Search for windows.
|
||
.It Fa C-/
|
||
Search for applications.
|
||
.It Fa C-M-l
|
||
Label current window.
|
||
.It Fa M-Tab
|
||
Cycle through currently visible windows.
|
||
.It Fa M-S-Tab
|
||
Reverse cycle through currently visible windows.
|
||
.It Fa C-M-x
|
||
Delete current window.
|
||
.It Fa C-M-Escape
|
||
Enter group edit mode.
|
||
.It Fa C-M-[n]
|
||
Select group n, where n is 1-9.
|
||
.It Fa C-M-0
|
||
Select all groups.
|
||
.It Fa M-Right
|
||
Switch to next group.
|
||
.It Fa M-Left
|
||
Switch to previous group.
|
||
.It Fa C-M-f
|
||
Toggle full-screen size of window.
|
||
.It Fa C-M-=
|
||
Toggle vertical maximization of window.
|
||
.It Fa M-?
|
||
Spawn \&"Exec program\&" dialog.
|
||
.El
|
||
.Pp
|
||
The mouse bindings are also important, they are:
|
||
.Pp
|
||
.Bl -tag -width 10n -offset -indent -compact
|
||
.It Fa M-M1
|
||
Move a window.
|
||
.It Fa C-M-M1
|
||
Toggle a window's membership in the current group.
|
||
A blue highlight indicates the window has been added to the group,
|
||
a red highlight indicates it has been removed.
|
||
.It Fa M-M2
|
||
Resize a window/Select a window.
|
||
.It Fa M-M3
|
||
Lower a window.
|
||
.El
|
||
.Pp
|
||
The options for
|
||
.Nm
|
||
are as follows:
|
||
.Bl -tag -width Ds
|
||
.It Fl d Ar display
|
||
Specify the display to use.
|
||
.It Fl s
|
||
Set sticky group mode on.
|
||
The default behavior for new windows is to not assign any group.
|
||
This changes the default behavior to assigning the currrently selected
|
||
group to any newly created windows.
|
||
.It Fl f Ar fontname
|
||
Makes the
|
||
.Xr Xft 3
|
||
font string
|
||
.Ar fontname
|
||
the default font.
|
||
.El
|
||
.Sh SEARCH
|
||
.Nm
|
||
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.
|
||
.Nm
|
||
keeps a history of the 5 previous titles of a window.
|
||
.Pp
|
||
When searching, the leftmost character of the result list may show a
|
||
flag:
|
||
.Pp
|
||
.Bl -tag -width 10n -offset -indent -compact
|
||
.It Fa !
|
||
The window is the currently focused window.
|
||
.It Fa &
|
||
The window is hidden.
|
||
.El
|
||
.Pp
|
||
The following keybindings may be used to navigate the result list:
|
||
.Pp
|
||
.Bl -tag -width 10n -offset -indent -compact
|
||
.It [Down] or C-s
|
||
Select the next window in the list.
|
||
.It [Up] or C-r
|
||
Select the previous window in the list.
|
||
.It C-u
|
||
Clear the input.
|
||
.It [Enter]
|
||
Focus the selected window.
|
||
.It [Esc]
|
||
Quit.
|
||
.It C-a
|
||
Whenever there are no matching windows, list every window.
|
||
.El
|
||
.Sh GROUPS
|
||
.Nm
|
||
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
|
||
.Fl s
|
||
option, this can be used to emulate virtual desktops.
|
||
.Pp
|
||
To edit groups, enter the group edit mode, and select/unselect the
|
||
groups with the group selection mouse click.
|
||
A blue border will be shown on the currently selected windows.
|
||
The group selection keyboard shortcuts can also be used to change
|
||
which group to edit.
|
||
.Sh MENUS
|
||
Menus are recalled by clicking the mouse on the root window:
|
||
.Pp
|
||
.Bl -tag -width 10n -offset -indent -compact
|
||
.It Fa M1
|
||
Show list of currently hidden windows.
|
||
Clicking on an item will unhide that window.
|
||
.It Fa M2
|
||
Show list of currently defined groups.
|
||
Clicking on an item will hide/unhide that group.
|
||
.It Fa M3
|
||
Show list of applications as defined in
|
||
.Fa ~/.calmwm .
|
||
Clicking on an item will spawn that application.
|
||
.El
|
||
.Sh ~/.calmwm
|
||
Any directory entries here are shown in the application menu.
|
||
When it is selected, the image is executed with
|
||
.Xr execve 2 .
|
||
One use of this is to create symbolic links for your favorite
|
||
applications in this directory using
|
||
.Xr ln 1 .
|
||
.Pp
|
||
The entries
|
||
.Nm term
|
||
and
|
||
.Nm lock
|
||
have special meaning.
|
||
When they exist they point to the terminal program and screen locking
|
||
programs used by the keybindings specified above.
|
||
The defaults for these are
|
||
.Xr xterm 1
|
||
and
|
||
.Xr xlock 1 ,
|
||
respectively.
|
||
.Sh ~/.calmwm/.autogroup
|
||
Symlinks in this directory are read upon startup and control the
|
||
automatic grouping feature, which is based on the window name and class
|
||
properties.
|
||
To obtain the name and class of a window, you can use
|
||
.Nm xprop WM_CLASS ,
|
||
then click on the window.
|
||
The first quoted string is the window name, the second one is the
|
||
window class.
|
||
.Pp
|
||
The name of a link can be the window class, or the window class and name
|
||
separated by a comma.
|
||
The link target is a group name (one, two, \&..., nine).
|
||
For example, to make all windows in the
|
||
.Xr xterm 1
|
||
class go to the third group:
|
||
.Bd -literal -offset indent
|
||
ln -s three ~/.calmwm/.autogroup/XTerm
|
||
.Ed
|
||
.Sh ENVIRONMENT
|
||
.TP
|
||
DISPLAY
|
||
.Nm
|
||
starts on this display unless the
|
||
.Fl d
|
||
option is given.
|
||
.Sh ACKNOWLEDGEMENTS
|
||
.Nm
|
||
contains some code from 9wm.
|
||
.Sh AUTHORS
|
||
The
|
||
.Nm
|
||
software has been developed by Marius Aamodt Eriksen
|
||
.Aq marius@monkey.org
|
||
with contributions from Andy Adamson
|
||
.Aq dros@monkey.org ,
|
||
Niels Provos
|
||
.Aq provos@monkey.org
|
||
and Antti Nyk<79>nen
|
||
.Aq aon@iki.fi .
|
||
Ideas, discussion with many others.
|
||
.\" .Sh HISTORY
|
||
.\".Aq marius@monkey.org .
|
||
.\" .Sh CAVEATS
|