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