JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Prepare for release 2.3.0.
[spectrwm.git] / spectrwm.1
index e37a7ee..1390ca0 100644 (file)
@@ -1,6 +1,6 @@
 .\" Copyright (c) 2009-2012 Marco Peereboom <marco@peereboom.us>
 .\" Copyright (c) 2009 Darrin Chandler <dwchandler@stilyagin.com>
-.\" Copyright (c) 2011-2012 Reginald Kennedy <rk@rejii.com>
+.\" Copyright (c) 2011-2013 Reginald Kennedy <rk@rejii.com>
 .\" Copyright (c) 2011-2012 Lawrence Teo <lteo@lteo.net>
 .\" Copyright (c) 2011-2012 Tiago Cunha <tcunha@gmx.com>
 .\" Copyright (c) 2012 David Hill <dhill@mindcry.org>
@@ -82,6 +82,9 @@ Colors need to be specified per the
 .Xr XQueryColor 3
 specification.
 .Pp
+Comments begin with a #.  When a literal '#' is desired in an option, then it
+must be escaped with a backslash. i.e. \e#
+.Pp
 The file supports the following keywords:
 .Bl -tag -width 2m
 .It Ic autorun
@@ -207,6 +210,11 @@ section below.
 .It Ic border_width
 Set window border thickness in pixels.
 Disable all borders by setting to 0.
+.It Ic boundary_width
+Set region containment boundary width in pixels.  This is how far a window
+must be dragged/resized beyond the region edge before it is allowed outside
+the region.  This has no effect when manipulating the window with key
+bindings.  Disable the window containment effect by setting to 0.
 .It Ic clock_enabled
 Enable or disable displaying the clock in the status bar.
 Disable by setting to 0
@@ -358,7 +366,8 @@ section) to use an alternate copy of the
 .Xr xterm 1
 binary without the setgid bit set.
 .It Ic tile_gap
-Pixel width of empty space between tiled windows.
+Pixel width of empty space between tiled windows.  Negative values cause overlap.
+Set this to the opposite of border_width to collapse the border between tiles.
 Disable by setting to 0.
 .It Ic title_class_enabled
 Enable or disable displaying the window class in the status bar.
@@ -375,8 +384,16 @@ In xterm, for example, one needs to add the following line
 to
 .Pa .Xdefaults .
 .It Ic verbose_layout
-Enable or disable displaying the current master and stack values in the
-status bar. Enable by setting to 1.
+Enable or disable displaying the current master window count and stack column/row
+count in the status bar.
+Enable by setting to 1.
+See
+.Pa master_add ,
+.Pa master_del ,
+.Pa stack_inc
+and
+.Pa stack_dec
+for more information.
 .It Ic window_name_enabled
 Enable or disable displaying the window name in the status bar.
 Enable by setting to 1.
@@ -398,43 +415,22 @@ See the
 .Sx BINDINGS
 section below.
 .Pp
-The default programs are described below:
-.Pp
-.Bl -tag -width "screenshot_wind" -offset indent -compact
-.It Cm term
-xterm
-.It Cm screenshot_all
-screenshot.sh full
-.It Cm screenshot_wind
-screenshot.sh window
-.It Cm lock
-xlock
-.It Cm initscr
-initscreen.sh
-.It Cm menu
-dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb
-$bar_border \-sf $bar_color
-.El
-.Pp
 Custom programs in the configuration file are specified as follows:
 .Pp
-.Dl program[<name>] = <progpath> [<arg> [... <arg>]]
+.Dl program[<action>] = <progpath> [<arg> [... <arg>]]
 .Pp
-.Aq name
+.Aq action
 is any identifier that does not conflict with a built-in action or keyword,
 .Aq progpath
 is the desired program, and
 .Aq arg
 is zero or more arguments to the program.
 .Pp
-The following variables represent settable values in
-.Nm
-(see the
-.Sx CONFIGURATION FILES
-section above),
-and may be used in the
-.Aq arg
-fields and will be substituted for values at the time the program is spawned:
+Remember that when using # in your program call, it must be escaped with a
+backslash. i.e. \e#
+.Pp
+The following argument variables will be substituted for values at the time the program
+is spawned:
 .Pp
 .Bl -tag -width "$bar_font_color" -offset indent -compact
 .It Cm $bar_border
@@ -443,18 +439,54 @@ fields and will be substituted for values at the time the program is spawned:
 .It Cm $bar_font_color
 .It Cm $color_focus
 .It Cm $color_unfocus
+.It Cm $region_index
+.It Cm $workspace_index
 .El
 .Pp
 Example:
 .Bd -literal -offset indent
 program[ff] = /usr/local/bin/firefox http://spectrwm.org/
-bind[ff] = Mod+Shift+b # Now Mod+Shift+B launches firefox
+bind[ff] = Mod+Shift+b # Now M-S-b launches firefox
 .Ed
 .Pp
-To undo the previous:
+To cancel the previous, unbind it:
 .Bd -literal -offset indent
 bind[] = Mod+Shift+b
-program[ff] =
+.Ed
+.Pp
+Default programs:
+.Bl -tag -width "screenshot_wind" -offset indent -compact
+.It Cm lock
+xlock
+.It Cm menu
+dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb
+$bar_border \-sf $bar_color
+.It Cm term
+xterm
+.It Cm initscr
+initscreen.sh        # optional
+.It Cm screenshot_all
+screenshot.sh full   # optional
+.It Cm screenshot_wind
+screenshot.sh window # optional
+.El
+.Pp
+Note that optional default programs will not be validated unless overridden.
+If a default program fails validation, you can resolve the exception
+by installing the program, modifying the program call or disabling the program
+by freeing the respective key binding.
+.Pp
+For example, to override
+.Ic lock :
+.Bd -literal -offset indent
+program[lock] = xscreensaver-command --lock
+.Ed
+.Pp
+To unbind
+.Ic lock
+and prevent it from being validated:
+.Bd -literal -offset indent
+bind[] = MOD+Shift+Delete
 .Ed
 .Sh BINDINGS
 .Nm
@@ -545,6 +577,10 @@ ws_next_all
 .It Cm M- Ns Aq Cm Down
 ws_prev_all
 .It Cm M-a
+ws_next_move
+.It Cm M-S- Ns Aq Cm Left
+ws_prev_move
+.It Cm M-S- Ns Aq Cm Up
 ws_prior
 .It Cm M-S- Ns Aq Cm Right
 rg_next
@@ -683,6 +719,10 @@ Switch to previous workspace with a window in it.
 Switch to next workspace.
 .It Cm ws_prev_all
 Switch to previous workspace.
+.It Cm ws_next_move
+Switch to next workspace with the current window.
+.It Cm ws_prev_move
+Switch to previous workspace with the current window.
 .It Cm ws_prior
 Switch to last visited workspace.
 .It Cm rg_next
@@ -750,12 +790,13 @@ Custom bindings in the configuration file are specified as follows:
 .Dl bind[<action>] = <keys>
 .Pp
 .Aq action
-is one of the actions listed above (or empty) and
+is one of the actions listed above (or empty to unbind) and
 .Aq keys
 is in the form of zero or more modifier keys
 (MOD, Mod1, Shift, etc.) and one or more normal keys
 (b, space, etc.), separated by "+".
-For example:
+.Pp
+Example:
 .Bd -literal -offset indent
 bind[reset] = Mod4+q # bind Windows-key + q to reset
 bind[] = Mod1+q # unbind Alt + q
@@ -861,6 +902,17 @@ Remove border to allow window to use full region size.
 .It FOCUSPREV
 On exit force focus on previously focused application not previous
 application in the stack.
+.It NOFOCUSONMAP
+Don't change focus to the window when it first appears on the screen.
+Has no effect when
+.Ic focus_mode
+is set to follow.
+.It FOCUSONMAP_SINGLE
+When the window first appears on the screen, change focus to the window
+if there are no other windows on the workspace with the same class/name.
+Has no effect when
+.Ic focus_mode
+is set to follow.
 .El
 .Pp
 Custom quirks in the configuration file are specified as follows: