Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CWM(1)			  BSD General Commands Manual			CWM(1)

     cwm -- a lightweight and efficient	window manager for X11

     cwm [-c file] [-d display]

     cwm is a window manager for X11 which contains many features that concen-
     trate on the efficiency and transparency of window	management.  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.

     cwm is very simple	in its use.  Most of the actions are initiated via key
     bindings.	The default key	bindings are described below; their function-
     ality 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-s		   Toggle stickiness 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-comple-
			   tion.  ssh(1) will be executed via the configured
			   terminal emulator.
	   CM-w		   Spawn "exec WindowManager" dialog; allows you to
			   switch from cwm to another window manager without
			   restarting the X server.
	   CMS-r	   Restart the running cwm(1).
	   CMS-q	   Quit	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 cwm are as	follows:

     -c	file
	     Specify an	alternative configuration file.	 By default, cwm loads
	     ~/.cwmrc, if present.  Any	error messages from lines in the con-
	     figuration	file will be sent to stderr; however, cwm will con-
	     tinue to process the rest of the configuration file.

     -d	display
	     Specify the display to use.

     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.

     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 ad-
     dition of the Control key.	 CM-[hjkl] resizes the window a	small amount
     and CMS-[hjkl] resizes by a larger	increment.

     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.  cwm keeps a history of the 5 previous	titles of a window.

     When searching, the leftmost character of the result list may show	a

	   !	       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.

     cwm has the ability to group windows together, and	use the	groups to per-
     form operations on	the entire group instead of just one window.  Cur-
     rently, 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.

     DISPLAY	 cwm starts on this display unless the -d option is given.



     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 rewrit-

     cwm first appeared	in OpenBSD 4.2.

     cwm was developed by Marius Aamodt	Eriksen	<> with con-
     tributions	from Andy Adamson <>, Niels Provos
     <>, and Antti Nykanen <>.  Ideas, discussion
     with many others.

BSD			       February	22, 2020			   BSD


Want to link to this manual page? Use this URL:

home | help