]> code.delx.au - spectrwm/blobdiff - spectrwm.1
linux: Use --as-needed when linking
[spectrwm] / spectrwm.1
index 3df76e11bec4d57b9fed4a4bc03c98cb15290254..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) 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>
 .\" 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
 .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.
 .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.
 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
 .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
 .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.
 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.
 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
 .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
 Possible values:
 .Pp
 .Bl -tag -width "default" -offset indent -compact
@@ -315,12 +310,18 @@ and changes to layout.
 .It Ar manual
 Set window focus on window interaction only.
 .El
 .It Ar manual
 Set window focus on window interaction only.
 .El
+.It Ic maximize_hide_bar
+When set to 1,
+.Ic maximize_toggle
+will also hide/restore the bar visibility of the affected workspace.
+Defaults to 0.
 .It Ic java_workaround
 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
 .It Ic java_workaround
 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
 This allows you to load pre-defined key bindings for your keyboard layout.
 See the
 .Sx KEYBOARD MAPPING FILES
@@ -364,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 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
 .It Ic name
 Set the name of a workspace at start-of-day.
 Defined in the format
@@ -446,8 +441,9 @@ Set this to the opposite of
 to collapse the border between tiles.
 Disable by setting to 0.
 .It Ic urgent_collapse
 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.
 Enable by setting to 1.
 .It Ic urgent_enabled
 Enable or disable the urgency hint indicator in the status bar.
@@ -471,6 +467,15 @@ See
 and
 .Ar stack_dec
 for more information.
 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.
 .It Ic window_class_enabled
 Enable or disable displaying the window class name (from WM_CLASS) in the
 status bar.
@@ -489,8 +494,15 @@ the bar, it's limited to 64 characters, by default.
 See the
 .Ic bar_format
 option for more details.
 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
 .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
 change focus, switch workspaces, change regions, etc.
 Enable by setting to 1.
 .It Ic workspace_limit
@@ -569,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
 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 :
 .Pp
 For example, to override
 .Ic lock :
@@ -585,24 +597,19 @@ bind[] = MOD+Shift+Delete
 .Ed
 .Sh BINDINGS
 .Nm
 .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
 .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
 .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
 .It Cm M-S- Ns Aq Cm Return
 term
 .It Cm M-p
@@ -617,7 +624,7 @@ cycle_layout
 flip_layout
 .It Cm M-S- Ns Aq Cm Space
 stack_reset
 flip_layout
 .It Cm M-S- Ns Aq Cm Space
 stack_reset
-.It Cm M-S-h
+.It Cm Aq Ar unbound
 stack_balance
 .It Cm M-h
 master_shrink
 stack_balance
 .It Cm M-h
 master_shrink
@@ -667,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
 .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
 .It Cm M- Ns Aq Cm Right
 ws_next
 .It Cm M- Ns Aq Cm Left
@@ -677,7 +688,7 @@ ws_next_all
 ws_prev_all
 .It Cm M-a
 ws_prior
 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
 ws_prev_move
 .It Cm M-S- Ns Aq Cm Up
 ws_next_move
@@ -685,6 +696,10 @@ ws_next_move
 rg_next
 .It Cm M-S- Ns Aq Cm Left
 rg_prev
 rg_next
 .It Cm M-S- Ns Aq Cm Left
 rg_prev
+.It Cm Aq Ar unbound
+rg_move_next
+.It Cm Aq Ar unbound
+rg_move_prev
 .It Cm M-s
 screenshot_all
 .It Cm M-S-s
 .It Cm M-s
 screenshot_all
 .It Cm M-S-s
@@ -703,6 +718,10 @@ iconify
 uniconify
 .It Cm M-e
 maximize_toggle
 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
 .It Cm M-S-r
 always_raise
 .It Cm M-v
@@ -734,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
 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
 .It Cm term
 Spawn a new terminal
 (see
@@ -819,6 +848,10 @@ Move current window to region
 where
 .Ar n
 is 1 through 9.
 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
 .It Cm ws_next
 Switch to next workspace with a window in it.
 .It Cm ws_prev
@@ -837,6 +870,10 @@ Switch to last visited workspace.
 Switch to next region.
 .It Cm rg_prev
 Switch to previous region.
 Switch to next region.
 .It Cm rg_prev
 Switch to previous region.
+.It Cm rg_move_next
+Switch region to next screen.
+.It Cm rg_move_prev
+Switch region to previous screen.
 .It Cm screenshot_all
 Take screenshot of entire screen (if enabled)
 (see
 .It Cm screenshot_all
 Take screenshot of entire screen (if enabled)
 (see
@@ -869,10 +906,14 @@ Restore (map) window returned by
 selection.
 .It Cm maximize_toggle
 Toggle maximization of focused window.
 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
 .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
 .It Cm width_shrink
 Shrink the width of a floating window.
 .It Cm width_grow
@@ -899,27 +940,67 @@ Search the windows in the current workspace.
 .Pp
 Custom bindings in the configuration file are specified as follows:
 .Pp
 .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
 .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 + .
 .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
 .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
 .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
 .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
 .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.
 .Pp
 To bind non-latin characters such as \[oa] or \[*p] you must enter the xkb
 character name instead of the character itself.
@@ -1006,30 +1087,10 @@ XTERM_FONTADJ
 The quirks themselves are described below:
 .Pp
 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
 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 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 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
-.Ar follow .
+.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
 .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
@@ -1038,20 +1099,45 @@ Has no effect when
 .Ic focus_mode
 is set to
 .Ar follow .
 .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 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 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.
+.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
+.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 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 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:
 .El
 .Pp
 Custom quirks in the configuration file are specified as follows: