JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Make time localized too.
[spectrwm.git] / scrotwm.1
index 8499bb4..fe77be1 100644 (file)
--- a/scrotwm.1
+++ b/scrotwm.1
@@ -1,5 +1,3 @@
-.\"    $scrotwm$
-.\"
 .\" Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
 .\" Copyright (c) 2009 Darrin Chandler <dwchandler@stilyagin.com>
 .\"
@@ -15,7 +13,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate$
+.Dd $Mdocdate: November 11 2011 $
 .Dt SCROTWM 1
 .Os
 .Sh NAME
@@ -81,8 +79,8 @@ The file supports the following keywords:
 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
 .It Cm autorun
 Launch an application in a specified workspace at start-of-day.
-Defined in the format ws[<idx>]:application, e.g. ws[2]:xterm launches and
-xterm in workspace 2
+Defined in the format ws[<idx>]:application, e.g. ws[2]:xterm launches an
+xterm in workspace 2.
 .It Cm color_focus
 Border color of the currently focussed window.
 .It Cm color_unfocus
@@ -91,10 +89,10 @@ Border color of unfocussed windows.
 Enable or disable status bar.
 .It Cm bar_border Ns Bq Ar x
 Color of the status bar border in screen
+.Ar x .
 .It Cm bar_border_width
 Set status bar border thickness in pixels.
-Disable border by setting to 0
-.Ar x .
+Disable border by setting to 0.
 .It Cm bar_color Ns Bq Ar x
 Color of the status bar window in screen
 .Ar x .
@@ -115,13 +113,22 @@ Enable or disable displaying the current stacking algorithm in the status bar.
 .It Cm clock_enabled
 Enable or disable displaying the clock in the status bar.
 Disable by setting to 0
-so a custom clock could be used in the bar_action script.
+so a custom clock could be used in the
+.Pa bar_action
+script.
 .It Cm dialog_ratio
 Some applications have dialogue windows that are too small to be useful.
 This ratio is the screen size to what they will be resized.
 For example, 0.6 is 60% of the physical screen size.
+.It Cm keyboard_mapping
+Clear all key bindings and load new key bindings from the specified file.
+This allows you to load pre-defined key bindings for your keyboard layout.
+See the
+.Sx KEYBOARD MAPPING FILES
+section below for a list of keyboard mapping files that have been provided
+for several keyboard layouts.
 .It Cm layout
-select layout to use at start-of-day.
+Select layout to use at start-of-day.
 Defined in the format
 ws[idx]:master_grow:master_add:stack_inc:layout:always_raise:stack_mode, e.g.
 ws[2]:-4:0:1:0:horizontal sets worskspace 2 to the horizontal stack mode and
@@ -139,7 +146,7 @@ See
 .Pa master_add ,
 .Pa master_del ,
 .Pa stack_inc ,
-.Pa stack_del ,
+.Pa stack_dec ,
 and
 .Pa always_raise
 for more information.
@@ -154,8 +161,12 @@ Allocates a custom region, removing any autodetected regions which occupy the sa
 space on the screen.
 Defined in the format screen[<idx>]:WIDTHxHEIGHT+X+Y,
 e.g.\& screen[1]:800x1200+0+0.
+.Pp
+To make a screen span multiple monitors, create a region big enough to cover
+them all, e.g. screen[1]:2048x768+0+0 makes the screen span two monitors with
+1024x768 resolution sitting one next to the other.
 .It Cm term_width
-Set a preferred minimum width for the terminal
+Set a preferred minimum width for the terminal.
 If this value is greater than 0,
 .Nm
 will attempt to adjust the font sizes in the terminal to keep the terminal
@@ -173,24 +184,38 @@ section) to use an alternate copy of the
 binary without the setgid bit set.
 .It Cm title_class_enabled
 Enable or disable displaying the window class in the status bar.
-Enable by setting to 1
+Enable by setting to 1.
 .It Cm title_name_enabled
 Enable or disable displaying the window title in the status bar.
-Enable by setting to 1
+Enable by setting to 1.
+.It Cm urgent_enabled
+Enable or disable the urgency hint.
+Note that many terminal emulators require this to be enabled for it to
+propagate.
+In xterm, for example, one needs to add the following line
+.Pa xterm.urgentOnBell: true
+to
+.Pa .Xdefaults .
 .It Cm window_name_enabled
 Enable or disable displaying the window name in the status bar.
-Enable by setting to 1
+Enable by setting to 1.
+.It Cm verbose_layout
+Enable or disable displaying the current master and stack values in the status
+bar.
+Enable by setting to 1.
 .It Cm modkey
 Change mod key.
 Mod1 is generally the ALT key and Mod4 is the windows key on a PC.
 .It Cm focus_mode
-Using a value of follow_cursor will make the window manager focus the window
+Using a value of
+.Pa follow_cursor
+will make the window manager focus the window
 under the mouse when switching workspaces and creating windows.
 .It Cm disable_border
 Remove border when bar is disabled and there is only one window on the screen.
 .It Cm border_width
 Set window border thickness in pixels.
-Disable all borders by setting to 0
+Disable all borders by setting to 0.
 .It Cm program Ns Bq Ar p
 Define new action to spawn a program
 .Ar p .
@@ -224,10 +249,11 @@ To list the available fonts in your system see
 or
 .Xr xlsfonts 1
 manpages.
-The 
+The
 .Xr xfontsel 1
 application can help you to show the X Logical Font Description ("XLFD") used
-as setting in the keyword bar_font.
+as setting in the keyword
+.Pa bar_font .
 .Sh PROGRAMS
 .Nm
 allows you to define custom actions to launch programs of your choice and then
@@ -293,7 +319,6 @@ To undo the previous:
 bind[] = Mod+f
 program[ff] =
 .Ed
-.Pp
 .Sh BINDINGS
 .Nm
 provides many functions (or actions) accessed via key or mouse bindings.
@@ -322,7 +347,6 @@ menu
 quit
 .It Cm M-q
 restart
-.Nm
 .It Cm M- Ns Aq Cm Space
 cycle_layout
 .It Cm M-S- Ns Aq Cm Space
@@ -338,7 +362,7 @@ master_del
 .It Cm M-S-,
 stack_inc
 .It Cm M-S-.
-stack_del
+stack_dec
 .It Cm M- Ns Aq Cm Return
 swap_main
 .It Xo
@@ -364,9 +388,9 @@ wind_del
 .It Cm M-S-x
 wind_kill
 .It Cm M- Ns Aq Ar n
-.Ns ws_ Ns Ar n
+.Pf ws_ Ar n
 .It Cm M-S- Ns Aq Ar n
-.Ns mvws_ Ns Ar n
+.Pf mvws_ Ar n
 .It Cm M- Ns Aq Cm Right
 ws_next
 .It Cm M- Ns Aq Cm Left
@@ -394,7 +418,25 @@ iconify
 .It Cm M-S-w
 uniconify
 .It Cm M-S-r
-toggle always_raised
+always_raise
+.It Cm M-v
+button2
+.It Cm M--
+width_shrink
+.It Cm M-=
+width_grow
+.It Cm M-S-
+height_shrink
+.It Cm M-S-=
+height_grow
+.It Cm M-[
+move_left
+.It Cm M-]
+move_right
+.It Cm M-S-[
+move_up
+.It Cm M-S-]
+move_down
 .El
 .Pp
 The action names and descriptions are listed below:
@@ -404,104 +446,122 @@ The action names and descriptions are listed below:
 Spawn a new terminal
 (see
 .Sx PROGRAMS
-above)
+above).
 .It Cm menu
 Menu
 (see
 .Sx PROGRAMS
-above)
+above).
 .It Cm quit
 Quit
-.Nm
+.Nm .
 .It Cm restart
 Restart
-.Nm
+.Nm .
 .It Cm cycle_layout
-Cycle layout
+Cycle layout.
 .It Cm reset_layout
-Reset layout
+Reset layout.
 .It Cm master_shrink
-Shrink master area
+Shrink master area.
 .It Cm master_grow
-Grow master area
+Grow master area.
 .It Cm master_add
-Add windows to master area
+Add windows to master area.
 .It Cm master_del
-Remove windows from master area
+Remove windows from master area.
 .It Cm stack_inc
-Add columns/rows to stacking area
-.It Cm stack_del
-Remove columns/rows from stacking area
+Add columns/rows to stacking area.
+.It Cm stack_dec
+Remove columns/rows from stacking area.
 .It Cm swap_main
-Move current window to master area
+Move current window to master area.
 .It Cm focus_next
-Focus next window in workspace
+Focus next window in workspace.
 .It Cm focus_prev
-Focus previous window in workspace
+Focus previous window in workspace.
 .It Cm focus_main
-Focus on main window in workspace
+Focus on main window in workspace.
 .It Cm swap_next
-Swap with next window in workspace
+Swap with next window in workspace.
 .It Cm swap_prev
-Swap with previous window in workspace
+Swap with previous window in workspace.
 .It Cm bar_toggle
-Toggle status bar in all workspaces
+Toggle status bar in all workspaces.
 .It Cm wind_del
-Delete current window in workspace
+Delete current window in workspace.
 .It Cm wind_kill
-Destroy current window in workspace
+Destroy current window in workspace.
 .It Cm ws_ Ns Ar n
 Switch to workspace
 .Ar n ,
 where
 .Ar n
-is 1 through 10
+is 1 through 10.
 .It Cm mvws_ Ns Ar n
 Move current window to workspace
 .Ar n ,
 where
 .Ar n
-is 1 through 10
+is 1 through 10.
 .It Cm ws_next
-Switch to next workspace with a window in it
+Switch to next workspace with a window in it.
 .It Cm ws_prev
-Switch to previous workspace with a window in it
+Switch to previous workspace with a window in it.
 .It Cm ws_prior
-Switch to last visited workspace
+Switch to last visited workspace.
 .It Cm screen_next
-Move pointer to next region
+Move pointer to next region.
 .It Cm screen_prev
-Move pointer to previous region
+Move pointer to previous region.
 .It Cm screenshot_all
 Take screenshot of entire screen (if enabled)
 (see
 .Sx PROGRAMS
-above)
+above).
 .It Cm screenshot_wind
 Take screenshot of selected window (if enabled)
 (see
 .Sx PROGRAMS
-above)
+above).
 .It Cm version
-Toggle version in status bar
+Toggle version in status bar.
 .It Cm float_toggle
-Toggle focused window between tiled and floating
+Toggle focused window between tiled and floating.
 .It Cm lock
 Lock screen
 (see
 .Sx PROGRAMS
-above)
+above).
 .It Cm initscr
 Reinitialize physical screens
 (see
 .Sx PROGRAMS
-above)
+above).
 .It Cm iconify
 Minimize (unmap) currently focused window.
 .It Cm uniconify
 Maximize (map) window returned by dmenu selection.
 .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).
+.It Cm width_shrink
+Shrink the width of a floating window.
+.It Cm width_grow
+Grow the width of a floating window.
+.It Cm height_shrink
+Shrink the height of a floating window.
+.It Cm height_grow
+Grow the height of a floating window.
+.It Cm move_left
+Move a floating window a step to the left.
+.It Cm move_right
+Move a floating window a step to the right.
+.It Cm move_up
+Move a floating window a step upwards.
+.It Cm move_down
+Move a floating window a step downwards.
 .El
 .Pp
 Custom bindings in the configuration file are specified as follows:
@@ -521,6 +581,24 @@ bind[] = Mod1+q # unbind Alt + q
 .Ed
 .Pp
 Multiple key combinations may be bound to the same action.
+.Sh KEYBOARD MAPPING FILES
+Keyboard mapping files for several keyboard layouts are listed
+below.
+These files can be used with the
+.Pa keyboard_mapping
+setting to load pre-defined key bindings for the specified
+keyboard layout.
+.Pp
+.Bl -tag -width "scrotwm_XX.confXXX" -offset indent -compact
+.It Cm scrotwm_cz.conf
+Czech Republic keyboard layout
+.It Cm scrotwm_es.conf
+Spanish keyboard layout
+.It Cm scrotwm_fr.conf
+French keyboard layout
+.It Cm scrotwm_us.conf
+United States keyboard layout
+.El
 .Sh QUIRKS
 .Nm
 provides "quirks" which handle windows that must be treated specially
@@ -611,7 +689,7 @@ quirk[Firefox:Navigator] = FLOAT
 .Ed
 .Pp
 .Nm
-also automatically assigns quirks to windows based on the value 
+also automatically assigns quirks to windows based on the value
 of the window's _NET_WM_WINDOW_TYPE property as follows:
 .Pp
 .Bl -tag -width "_NET_WM_WINDOW_TYPE_TOOLBAR<TAB>XXX" -offset indent -compact
@@ -627,63 +705,84 @@ FLOAT
 FLOAT
 .El
 .Pp
-In all other cases, no automatic quirks are assigned to the window. 
+In all other cases, no automatic quirks are assigned to the window.
 Quirks specified in the configuration file override the automatic quirks.
 .Sh EWMH
 .Nm
-partially implements the Extended Window Manager Hints (EWMH) specification. 
+partially implements the Extended Window Manager Hints (EWMH) specification.
 This enables controlling windows as well as
 .Nm
-itself from external scripts and programs. This is achieved by 
+itself from external scripts and programs.
+This is achieved by
 .Nm
-responding to certain ClientMessage events. From the terminal these events 
-can be conveniently sent using tools such as wmctrl and xdotool. For the 
+responding to certain ClientMessage events.
+From the terminal these events
+can be conveniently sent using tools such as
+.Xr wmctrl 1
+and
+.Xr xdotool 1 .
+For the
 actual format of these ClientMessage events, see the EWMH specification.
 .Pp
-The id of the currently focused window is stored in the _NET_ACTIVE_WINDOW 
-property of the root window. This can be used for example to retrieve the 
-title of the currently active window with xprop(1) and grep(1):
+The id of the currently focused window is stored in the _NET_ACTIVE_WINDOW
+property of the root window.
+This can be used for example to retrieve the
+title of the currently active window with
+.Xr xprop 1
+and
+.Xr grep 1 :
 .Bd -literal -offset indent
-$ WINDOWID=`xprop -root _NET_ACTIVE_WINDOW | grep -o "0x.*"`
-$ xprop -id $WINDOWID WM_NAME | grep -o "\\".*\\""
+$ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"`
+$ xprop \-id $WINDOWID WM_NAME | grep \-o "\\".*\\""
 .Ed
 .Pp
-A window can be focused by sending a _NET_ACTIVE_WINDOW client message 
-to the root window. For example, using wmctrl to send the message 
+A window can be focused by sending a _NET_ACTIVE_WINDOW client message
+to the root window.
+For example, using
+.Xr wmctrl 1
+to send the message
 (assuming 0x4a0000b is the id of the window to be focused):
 .Bd -literal -offset indent
-$ wmctrl -i -a 0x4a0000b
+$ wmctrl \-i \-a 0x4a0000b
 .Ed
 .Pp
-Windows can be closed by sending a _NET_CLOSE_WINDOW client message 
-to the root window. For example, using wmctrl to send the message 
+Windows can be closed by sending a _NET_CLOSE_WINDOW client message
+to the root window.
+For example, using
+.Xr wmctrl 1
+to send the message
 (assuming 0x4a0000b is the id of the window to be closed):
 .Bd -literal -offset indent
-$ wmctrl -i -c 0x4a0000b
+$ wmctrl \-i \-c 0x4a0000b
 .Ed
 .Pp
-Windows can be floated and un-floated by adding or removing the 
-_NET_WM_STATE_ABOVE atom from the _NET_WM_STATE property of the window. 
-This can be achieved by sending a _NET_WM_STATE client message to the 
-root window. For example, the following toggles the floating state of 
-a window using wmctrl to send the message (assuming 0x4a0000b is the 
-id of the window floated or un-floated):
+Windows can be floated and un-floated by adding or removing the
+_NET_WM_STATE_ABOVE atom from the _NET_WM_STATE property of the window.
+This can be achieved by sending a _NET_WM_STATE client message to the
+root window.
+For example, the following toggles the floating state of
+a window using
+.Xr wmctrl 1
+to send the message (assuming 0x4a0000b is the  id of the window floated
+or un-floated):
 .Bd -literal -offset indent
-$ wmctrl -i -r 0x4a0000b -b toggle,_NET_WM_STATE_ABOVE
+$ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE
 .Ed
 .Pp
-Floating windows can also be resized and moved by sending a 
-_NET_MOVERESIZE_WINDOW client message to the root window. For example, 
-using wmctrl to send the message (assuming 0x4a0000b is the id of 
+Floating windows can also be resized and moved by sending a
+_NET_MOVERESIZE_WINDOW client message to the root window.
+For example,
+using
+.Xr wmctrl 1
+to send the message (assuming 0x4a0000b is the id of
 the window to be resize/moved):
 .Bd -literal -offset indent
-$ wmctrl -i -r 0x4a0000b -e 0,100,50,640,480
+$ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480
 .Ed
 .Pp
 This moves the window to (100,50) and resizes it to 640x480.
 .Pp
 Any _NET_MOVERESIZE_WINDOW events received for stacked windows are ignored.
-.Pp
 .Sh SIGNALS
 Sending
 .Nm