]> code.delx.au - spectrwm/blobdiff - spectrwm.1
linux: Use --as-needed when linking
[spectrwm] / spectrwm.1
index d796548b6d49f859924fbde3380936a488260d2e..6e7f521abde93e1a2e90dc556c49c19674491987 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-2014 Reginald Kennedy <rk@rejii.com>
+.\" Copyright (c) 2011-2015 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>
@@ -50,16 +50,12 @@ Meta
 .It Cm S
 Shift
 .It Aq Cm Name
-Named key
-.It Cm M1
-Mouse button 1
-.It Cm M3
-Mouse button 3
+Named key or button
 .El
 .Pp
 .Nm
 is very simple in its use.
-Most of the actions are initiated via key or mouse bindings.
+Most of the actions are initiated via key or pointer bindings.
 See the
 .Sx BINDINGS
 section below for defaults and customizations.
@@ -235,7 +231,7 @@ See the
 .Ic bar_format
 option for more details.
 .It Ic bind Ns Bq Ar x
-Bind key combo to action
+Bind key or button combo to action
 .Ar x .
 See the
 .Sx BINDINGS
@@ -245,9 +241,8 @@ 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.
+This is how far a window must be dragged/resized (with the pointer)
+beyond the region edge before it is allowed outside the region.
 Disable the window containment effect by setting to 0.
 .It Ic clock_enabled
 Enable or disable displaying the clock in the status bar.
@@ -302,7 +297,7 @@ and
 .Ar last
 (default).
 .It Ic focus_mode
-Window focus behavior with respect to the mouse cursor.
+Window focus behavior with respect to the pointer.
 Possible values:
 .Pp
 .Bl -tag -width "default" -offset indent -compact
@@ -325,7 +320,8 @@ Workaround a Java GUI rendering issue on non-reparenting window managers by
 impersonating the LG3D window manager, written by Sun.
 Default is 1.
 .It Ic keyboard_mapping
-Clear all key bindings and load new key bindings from the specified file.
+Clear all key bindings (not button bindings) and load new bindings from the
+specified file.
 This allows you to load pre-defined key bindings for your keyboard layout.
 See the
 .Sx KEYBOARD MAPPING FILES
@@ -369,12 +365,6 @@ This setting is not retained at restart.
 .It Ic modkey
 Change mod key.
 Mod1 is generally the ALT key and Mod4 is the windows key on a PC.
-.It Ic move_button
-Change mouse button used for moving windows.
-But1 is the left, But2 is the middle and But3 is the right mouse button.
-.It Ic resize_button
-Change mouse button used for resizing windows.
-But1 is the left, But2 is the middle and But3 is the right mouse button.
 .It Ic name
 Set the name of a workspace at start-of-day.
 Defined in the format
@@ -451,8 +441,9 @@ Set this to the opposite of
 to collapse the border between tiles.
 Disable by setting to 0.
 .It Ic urgent_collapse
-Enables hiding of placeholders in the urgency hint indicator for workspaces that
-do not have any urgent windows.
+Minimizes the space consumed by the urgency hint indicator by removing the
+placeholders for non-urgent workspaces, the trailing space when there are
+urgent windows and the default leading space.
 Enable by setting to 1.
 .It Ic urgent_enabled
 Enable or disable the urgency hint indicator in the status bar.
@@ -476,6 +467,15 @@ See
 and
 .Ar stack_dec
 for more information.
+.It Ic workspace_clamp
+Prevents workspaces from being swapped when attempting to switch to a workspace
+that is mapped to another region.
+Use
+.Ar warp_focus
+if you want to focus on the region containing the workspace and
+.Ar warp_pointer
+if you want to also send the pointer.
+Enable by setting to 1.
 .It Ic window_class_enabled
 Enable or disable displaying the window class name (from WM_CLASS) in the
 status bar.
@@ -494,8 +494,15 @@ the bar, it's limited to 64 characters, by default.
 See the
 .Ic bar_format
 option for more details.
+.It Ic warp_focus
+Focus on the target window/workspace/region when clamped.
+For example, when attempting to switch to a workspace that is mapped on another
+region and
+.Ar workspace_clamp
+is enabled, focus on the region with the target workspace.
+Enable by setting to 1.
 .It Ic warp_pointer
-Centers the mouse pointer on the focused window when using key bindings to
+Centers the pointer on the focused window when using bindings to
 change focus, switch workspaces, change regions, etc.
 Enable by setting to 1.
 .It Ic workspace_limit
@@ -574,7 +581,7 @@ screenshot.sh window # optional
 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.
+by freeing the respective binding.
 .Pp
 For example, to override
 .Ic lock :
@@ -590,24 +597,19 @@ bind[] = MOD+Shift+Delete
 .Ed
 .Sh BINDINGS
 .Nm
-provides many functions (or actions) accessed via key or mouse bindings.
-.Pp
-The current mouse bindings are described below:
-.Pp
-.Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
-.It Cm M1
-Focus window
-.It Cm M-M1
-Move window
-.It Cm M-M3
-Resize window
-.It Cm M-S-M3
-Resize window while maintaining it centered
-.El
+provides many functions (or actions) accessed via key or pointer bindings.
 .Pp
-The default key bindings are described below:
+The default bindings are listed below:
 .Pp
 .Bl -tag -width "M-j, M-<TAB>XXXXXX" -offset indent -compact
+.It Cm Ns Aq Cm Button1
+focus
+.It Cm M- Ns Aq Cm Button1
+move
+.It Cm M- Ns Aq Cm Button3
+resize
+.It Cm M-S- Ns Aq Cm Button3
+resize_centered
 .It Cm M-S- Ns Aq Cm Return
 term
 .It Cm M-p
@@ -672,6 +674,10 @@ wind_kill
 .Pf rg_ Aq Ar 1-9
 .It Cm M-S- Ns Aq Ar Keypad 1-9
 .Pf mvrg_ Aq Ar 1-9
+.It Cm Aq Ar unbound
+mvrg_next
+.It Cm Aq Ar unbound
+mvrg_prev
 .It Cm M- Ns Aq Cm Right
 ws_next
 .It Cm M- Ns Aq Cm Left
@@ -682,7 +688,7 @@ ws_next_all
 ws_prev_all
 .It Cm M-a
 ws_prior
-.It Cm M-S- Ns Aq Cm Left
+.It Cm M-S- Ns Aq Cm Down
 ws_prev_move
 .It Cm M-S- Ns Aq Cm Up
 ws_next_move
@@ -712,6 +718,10 @@ iconify
 uniconify
 .It Cm M-e
 maximize_toggle
+.It Cm M-S-e
+fullscreen_toggle
+.It Cm M-r
+raise
 .It Cm M-S-r
 always_raise
 .It Cm M-v
@@ -743,6 +753,16 @@ search_win
 The action names and descriptions are listed below:
 .Pp
 .Bl -tag -width "M-j, M-<TAB>XXXX" -offset indent -compact
+.It Cm focus
+Focus window/region under pointer.
+.It Cm move
+Move window with pointer while binding is pressed.
+.It Cm resize
+Resize window with pointer while binding is pressed.
+.It Cm resize_centered
+Same as
+.Ic resize
+but keep window centered.
 .It Cm term
 Spawn a new terminal
 (see
@@ -828,6 +848,10 @@ Move current window to region
 where
 .Ar n
 is 1 through 9.
+.It Cm mvrg_next
+Move current window to workspace in next region.
+.It Cm mvrg_prev
+Move current window to workspace in previous region.
 .It Cm ws_next
 Switch to next workspace with a window in it.
 .It Cm ws_prev
@@ -882,10 +906,14 @@ Restore (map) window returned by
 selection.
 .It Cm maximize_toggle
 Toggle maximization of focused window.
+.It Cm fullscreen_toggle
+Toggle fullscreen state of focused window.
+.It Cm raise
+Raise the current window.
 .It Cm always_raise
 When set tiled windows are allowed to obscure floating windows.
 .It Cm button2
-Fake a middle mouse button click (mouse button 2).
+Fake a middle mouse button click (Button2).
 .It Cm width_shrink
 Shrink the width of a floating window.
 .It Cm width_grow
@@ -912,27 +940,67 @@ Search the windows in the current workspace.
 .Pp
 Custom bindings in the configuration file are specified as follows:
 .Pp
-.Dl bind Ns Bo Ar action Bc = Ar keys
+.Dl bind Ns Bo Ar action Bc = Ar combo
 .Pp
 .Ar action
 is one of the actions listed above (or empty to unbind) and
-.Ar 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
+.Ar combo
+is in the form of zero or more modifier keys and/or special arguments
+(Mod1, Shift, MOD, etc.) and a normal key (b, Space, etc.)
+or a button (Button1 .. Button255), separated by
 .Ql + .
+Multiple key/button combinations may be bound to the same action.
+.Pp
+Special arguments:
+.Bl -tag -width "anymodxxxx" -offset indent -compact
+.It Cm MOD
+Substituted for the currently defined
+.Ic modkey .
+.It Cm ANYMOD
+Select all modifier combinations not handled by another binding.
+.It Cm REPLAY
+Reprocess binding press/release events for other programs to handle.  Unavailable for
+.Ic move ,
+.Ic resize
+and
+.Ic resize_centered .
+.El
 .Pp
-Example:
+.Cm MOD
+example:
 .Bd -literal -offset indent
 bind[reset] = Mod4+q # bind Windows-key + q to reset
 bind[] = Mod1+q # unbind Alt + q
+bind[move] = MOD+Button3 # Bind move to M-Button3
+bind[] = MOD+Button1 # Unbind default move binding.
 .Ed
 .Pp
-To use the currently defined
-.Ic modkey ,
-specify MOD as the modifier key.
+.Cm ANYMOD
+example:
+.Bd -literal -offset indent
+bind[focus] = ANYMOD+Button3
+bind[move] = MOD+Button3
+.Ed
 .Pp
-Multiple key combinations may be bound to the same action.
+In the above example,
+.Cm M- Ns Aq Cm Button3
+initiates
+.Ic move
+and
+.Cm Aq Cm Button3
+pressed with any other combination of modifiers
+sets focus to the window/region under the pointer.
+.Pp
+.Cm REPLAY
+example:
+.Bd -literal -offset indent
+bind[focus] = REPLAY+Button3
+.Ed
+.Pp
+In the above example, when
+.Cm Aq Cm Button3
+is pressed without any modifier(s), focus is set to the window under the
+pointer and the button press is passed to the window.
 .Pp
 To bind non-latin characters such as \[oa] or \[*p] you must enter the xkb
 character name instead of the character itself.
@@ -1019,24 +1087,31 @@ XTERM_FONTADJ
 The quirks themselves are described below:
 .Pp
 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
-.It FLOAT
-This window should not be tiled, but allowed to float freely.
-.It TRANSSZ
-Adjusts size on transient windows that are too small using
-.Ic dialog_ratio
-(see
-.Sx CONFIGURATION FILES ) .
 .It ANYWHERE
 Allow window to position itself, uncentered.
-.It XTERM_FONTADJ
-Adjust
-.Xr xterm 1
-fonts when resizing.
-.It FULLSCREEN
-Remove border to allow window to use full region size.
+.It FLOAT
+This window should not be tiled, but allowed to float freely.
+.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 WM_CLASS
+class/instance value.
+Has no effect when
+.Ic focus_mode
+is set to
+.Ar follow .
 .It FOCUSPREV
 On exit force focus on previously focused application not previous
 application in the stack.
+.It FULLSCREEN
+Remove border to allow window to use full region size.
+.It IGNOREPID
+Ignore the PID when determining the initial workspace for a new window.
+Especially useful for terminal windows that share a process.
+.It IGNORESPAWNWS
+Ignore the spawn workspace when determining the initial workspace for a
+new window.
+.It MINIMALBORDER
+Remove border when window is unfocused and floating.
 .It NOFOCUSCYCLE
 Remove from normal focus cycle (focus_prev or focus_next). The window can
 still be focused using search_win.
@@ -1046,28 +1121,23 @@ Has no effect when
 .Ic focus_mode
 is set to
 .Ar 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 WM_CLASS
-class/instance value.
-Has no effect when
-.Ic focus_mode
-is set to
-.Ar follow .
 .It OBEYAPPFOCUSREQ
 When an application requests focus on the window via a _NET_ACTIVE_WINDOW
 client message (source indication of 1), comply with the request.
 Note that a source indication of 0 (unspecified) or 2 (pager) are always
 obeyed.
-.It IGNOREPID
-Ignore the PID when determining the initial workspace for a new window.
-Especially useful for terminal windows that share a process.
-.It IGNORESPAWNWS
-Ignore the spawn workspace when determining the initial workspace for a
-new window.
+.It TRANSSZ
+Adjusts size on transient windows that are too small using
+.Ic dialog_ratio
+(see
+.Sx CONFIGURATION FILES ) .
 .It WS Ns Bq Ar n
 Force a new window to appear on workspace
 .Ar n .
+.It XTERM_FONTADJ
+Adjust
+.Xr xterm 1
+fonts when resizing.
 .El
 .Pp
 Custom quirks in the configuration file are specified as follows: