.\" 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>
.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.
.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
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.
.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
.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
-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
.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
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.
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.
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
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 :
.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
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
.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
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
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
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
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
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
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
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
.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.
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 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
.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 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 XTERM_FONTADJ
+Adjust
+.Xr xterm 1
+fonts when resizing.
.El
.Pp
Custom quirks in the configuration file are specified as follows: