X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=scrotwm.1;h=3639b68454980d0de50c4364080fde42013dffd4;hb=4fb8103b11eb703db91c4589bb2c721d74d05fbf;hp=ee557cdae769c7db7989ee0588a77f1285c3e19e;hpb=161d2c0b22a70a56eb38929d91338b6c0e2c1218;p=spectrwm.git diff --git a/scrotwm.1 b/scrotwm.1 index ee557cd..3639b68 100644 --- a/scrotwm.1 +++ b/scrotwm.1 @@ -1,5 +1,3 @@ -.\" $scrotwm$ -.\" .\" Copyright (c) 2009 Marco Peereboom .\" Copyright (c) 2009 Darrin Chandler .\" @@ -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: January 25 2012 $ .Dt SCROTWM 1 .Os .Sh NAME @@ -77,52 +75,78 @@ For example: Enabling or disabling an option is done by using 1 or 0 respectively. .Pp The file supports the following keywords: -.Pp -.Bl -tag -width "title_class_enabledXXX" -offset indent -compact -.It Cm autorun +.Bl -tag -width 2m +.It Ic autorun Launch an application in a specified workspace at start-of-day. Defined in the format ws[]: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 -Border color of unfocussed windows. -.It Cm bar_enabled -Enable or disable status bar. -.It Cm bar_border Ns Bq Ar x +.It Ic bar_action +External script that populates additional information in the status bar, +such as battery life. +.It Ic bar_at_bottom +Place the statusbar at the bottom of each region instead of the top. +.It Ic bar_border Ns Bq Ar x Color of the status bar border in screen .Ar x . -.It Cm bar_border_width +.It Ic bar_border_width Set status bar border thickness in pixels. Disable border by setting to 0. -.It Cm bar_color Ns Bq Ar x +.It Ic bar_color Ns Bq Ar x Color of the status bar window in screen .Ar x . -.It Cm bar_font_color Ns Bq Ar x +.It Ic bar_delay +Update frequency, in seconds, of external script that populates the status bar. +.It Ic bar_enabled +Enable or disable status bar. +.It Ic bar_font +Status bar font. +.It Ic bar_font_color Ns Bq Ar x Color of the font in status bar in screen .Ar x . -.It Cm bar_font -Status bar font. -.It Cm bar_action -External script that populates additional information in the status bar, -such as battery life. -.It Cm bar_delay -Update frequency, in seconds, of external script that populates the status bar. -.It Cm bar_at_bottom -Place the statusbar at the bottom of each region instead of the top. -.It Cm stack_enabled -Enable or disable displaying the current stacking algorithm in the status bar. -.It Cm clock_enabled +.It Ic bar_justify +Justify the status bar text. Possible values are +.Pa left , +.Pa center , +and +.Pa right . +.It Ic bind Ns Bq Ar x +Bind key combo to action +.Ar x . +See the +.Sx BINDINGS +section below. +.It Ic border_width +Set window border thickness in pixels. +Disable all borders by setting to 0. +.It Ic 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 .Pa bar_action script. -.It Cm dialog_ratio +.It Ic color_focus +Border color of the currently focussed window. +.It Ic color_unfocus +Border color of unfocussed windows. +.It Ic 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 layout +.It Ic disable_border +Remove border when bar is disabled and there is only one window on the screen. +.It Ic focus_mode +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 Ic 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 Ic layout 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. @@ -141,7 +165,7 @@ See .Pa master_add , .Pa master_del , .Pa stack_inc , -.Pa stack_del , +.Pa stack_dec , and .Pa always_raise for more information. @@ -151,7 +175,24 @@ One should familiarize oneself with these commands before experimenting with the option. .Pp This setting is not retained at restart. -.It Cm region +.It Ic modkey +Change mod key. +Mod1 is generally the ALT key and Mod4 is the windows key on a PC. +.It Ic program Ns Bq Ar p +Define new action to spawn a program +.Ar p . +See the +.Sx PROGRAMS +section below. +.It Ic quirk Ns Bq Ar c:n +Add "quirk" for windows with class +.Ar c +and name +.Ar n . +See the +.Sx QUIRKS +section below. +.It Ic region Allocates a custom region, removing any autodetected regions which occupy the same space on the screen. Defined in the format screen[]:WIDTHxHEIGHT+X+Y, @@ -160,7 +201,9 @@ e.g.\& screen[1]:800x1200+0+0. 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 +.It Ic stack_enabled +Enable or disable displaying the current stacking algorithm in the status bar. +.It Ic term_width Set a preferred minimum width for the terminal. If this value is greater than 0, .Nm @@ -177,59 +220,27 @@ Users may need to set program[term] (see the section) to use an alternate copy of the .Xr xterm 1 binary without the setgid bit set. -.It Cm title_class_enabled +.It Ic title_class_enabled Enable or disable displaying the window class in the status bar. Enable by setting to 1. -.It Cm title_name_enabled +.It Ic title_name_enabled Enable or disable displaying the window title in the status bar. Enable by setting to 1. -.It Cm urgent_enabled +.It Ic 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 +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. -.It Cm verbose_layout +.It Ic 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 -.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. -.It Cm program Ns Bq Ar p -Define new action to spawn a program -.Ar p . -See the -.Sx PROGRAMS -section below. -.It Cm bind Ns Bq Ar x -Bind key combo to action -.Ar x . -See the -.Sx BINDINGS -section below. -.It Cm quirk Ns Bq Ar c:n -Add "quirk" for windows with class -.Ar c -and name -.Ar n . -See the -.Sx QUIRKS -section below. +.It Ic window_name_enabled +Enable or disable displaying the window name in the status bar. +Enable by setting to 1. .El .Pp Colors need to be specified per the @@ -243,7 +254,7 @@ 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 @@ -305,15 +316,14 @@ fields and will be substituted for values at the time the program is spawned: Example: .Bd -literal -offset indent program[ff] = /usr/local/bin/firefox http://scrotwm.org/ -bind[ff] = Mod+f # Now Mod+F launched firefox +bind[ff] = Mod+Shift+b # Now Mod+Shift+B launches firefox .Ed .Pp To undo the previous: .Bd -literal -offset indent -bind[] = Mod+f +bind[] = Mod+Shift+b program[ff] = .Ed -.Pp .Sh BINDINGS .Nm provides many functions (or actions) accessed via key or mouse bindings. @@ -344,8 +354,10 @@ quit restart .It Cm M- Ns Aq Cm Space cycle_layout +.It Cm M-S- Ns Aq Cm \e +flip_layout .It Cm M-S- Ns Aq Cm Space -reset_layout +stack_reset .It Cm M-h master_shrink .It Cm M-l @@ -357,7 +369,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 @@ -383,13 +395,17 @@ 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 ws_prev +.It Cm M- Ns Aq Cm Up +ws_next_all +.It Cm M- Ns Aq Cm Down +ws_prev_all .It Cm M-a ws_prior .It Cm M-S- Ns Aq Cm Right @@ -416,11 +432,33 @@ uniconify 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 +.It Cm M-S-/ +name_workspace +.It Cm M-/ +search_workspace +.It Cm M-f +search_win .El .Pp The action names and descriptions are listed below: .Pp -.Bl -tag -width "M-j, M-XXX" -offset indent -compact +.Bl -tag -width "M-j, M-XXXX" -offset indent -compact .It Cm term Spawn a new terminal (see @@ -439,7 +477,9 @@ Restart .Nm . .It Cm cycle_layout Cycle layout. -.It Cm reset_layout +.It Cm flip_layout +Swap the master and stacking areas. +.It Cm stack_reset Reset layout. .It Cm master_shrink Shrink master area. @@ -451,7 +491,7 @@ Add windows to master area. Remove windows from master area. .It Cm stack_inc Add columns/rows to stacking area. -.It Cm stack_del +.It Cm stack_dec Remove columns/rows from stacking area. .It Cm swap_main Move current window to master area. @@ -487,6 +527,10 @@ is 1 through 10. Switch to next workspace with a window in it. .It Cm ws_prev Switch to previous workspace with a window in it. +.It Cm ws_next_all +Switch to next workspace. +.It Cm ws_prev_all +Switch to previous workspace. .It Cm ws_prior Switch to last visited workspace. .It Cm screen_next @@ -525,6 +569,28 @@ Maximize (map) window returned by dmenu selection. 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. +.It Cm name_workspace +Name the current workspace. +.It Cm search_workspace +Search for a workspace. +.It Cm search_win +Search the windows in the current workspace. .El .Pp Custom bindings in the configuration file are specified as follows: @@ -543,7 +609,33 @@ bind[reset] = Mod4+q # bind Windows-key + q to reset bind[] = Mod1+q # unbind Alt + q .Ed .Pp +To use the currently defined +.Ic modkey , +specify MOD as the modifier key. +.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_fr_ch.conf +Swiss French keyboard layout +.It Cm scrotwm_se.conf +Swedish 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 @@ -634,7 +726,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_TOOLBARXXX" -offset indent -compact @@ -650,16 +742,18 @@ 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 +responding to certain ClientMessage events. +From the terminal these events can be conveniently sent using tools such as .Xr wmctrl 1 and @@ -667,8 +761,9 @@ and 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 +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 @@ -678,8 +773,9 @@ $ 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 +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): @@ -687,8 +783,9 @@ to send the message $ 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 +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): @@ -696,10 +793,11 @@ to send the message $ 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 +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 @@ -708,8 +806,9 @@ or un-floated): $ 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, +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 @@ -721,7 +820,6 @@ $ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480 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 @@ -750,8 +848,5 @@ was written by: .It Cm Pierre-Yves Ritschard Aq pyr@spootnik.org .It Cm Tuukka Kataja Aq stuge@xor.fi .It Cm Jason L. Wright Aq jason@thought.net +.It Cm Reginald Kennedy Aq rk@rejii.com .El -.Sh BUGS -Currently the menu, invoked with -.Cm M-p , -depends on dmenu.