X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=spectrwm.1;h=1028811532cf9b2f297aa27e82554b61153ead90;hb=9c6fb4c472e592a5a122b1abfd75d8d4d862b472;hp=293f8bed9020a3ba4292179b5db4a8464c779123;hpb=083bdac7ac3125eb19eb4b7dca2c459342391685;p=spectrwm.git diff --git a/spectrwm.1 b/spectrwm.1 index 293f8be..1028811 100644 --- a/spectrwm.1 +++ b/spectrwm.1 @@ -1,6 +1,6 @@ .\" Copyright (c) 2009-2012 Marco Peereboom .\" Copyright (c) 2009 Darrin Chandler -.\" Copyright (c) 2011-2012 Reginald Kennedy +.\" Copyright (c) 2011-2013 Reginald Kennedy .\" Copyright (c) 2011-2012 Lawrence Teo .\" Copyright (c) 2011-2012 Tiago Cunha .\" Copyright (c) 2012 David Hill @@ -170,17 +170,18 @@ It may contain the following character sequences: .It Sy "Character sequence" Ta Sy "Replaced with" .It Li "+<" Ta "Pad with a space" .It Li "+A" Ta "Output of the external script" -.It Li "+C" Ta "Window class" +.It Li "+C" Ta "Window class (from WM_CLASS)" .It Li "+D" Ta "Workspace name" .It Li "+F" Ta "Floating indicator" .It Li "+I" Ta "Workspace index" +.It Li "+M" Ta "Number of iconic (minimized) windows in workspace" .It Li "+N" Ta "Screen number" -.It Li "+P" Ta "Window class and title separated by a colon" +.It Li "+P" Ta "Window class and instance separated by a colon" .It Li "+S" Ta "Stacking algorithm" -.It Li "+T" Ta "Window title" +.It Li "+T" Ta "Window instance (from WM_CLASS)" .It Li "+U" Ta "Urgency hint" .It Li "+V" Ta "Program version" -.It Li "+W" Ta "Window name" +.It Li "+W" Ta "Window name (from _NET_WM_NAME/WM_NAME)" .It Li "++" Ta "A literal" Ql + .El .Pp @@ -210,16 +211,30 @@ section below. .It Ic border_width Set window border thickness 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. Disable the window containment effect 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 Ic iconic_enabled +Display the number of iconic (minimized) windows in the status bar. +Enable by setting to 1. .It Ic color_focus -Border color of the currently focussed window. +Border color of the currently focused window. Default is red. +.It Ic color_focus_maximized +Border color of the currently focused, maximized window. Defaults to the +value of color_focus. .It Ic color_unfocus -Border color of unfocussed windows. +Border color of unfocused windows, default is rgb:88/88/88. +.It Ic color_unfocus_maximized +Border color of unfocused, maximized windows. Defaults to the value of +color_unfocus. .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. @@ -261,6 +276,9 @@ and changes to layout. .It Cm manual Set window focus on window interaction only. .El +.It Ic java_workaround +Workaround a Java GUI rendering issue on non-reparenting window managers by +impersonating 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. This allows you to load pre-defined key bindings for your keyboard layout. @@ -301,15 +319,21 @@ 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 name Ns Bq Ar n +Set name of workspace +.Ar n +at start-of-day. .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 +.It Ic quirk Ns Bq Ar c:i:n Add "quirk" for windows with class -.Ar c +.Ar c , +instance +.Ar i and name .Ar n . See the @@ -361,28 +385,38 @@ section) to use an alternate copy of the .Xr xterm 1 binary without the setgid bit set. .It Ic tile_gap -Pixel width of empty space between tiled windows. +Pixel width of empty space between tiled windows. Negative values cause overlap. +Set this to the opposite of border_width to collapse the border between tiles. Disable by setting to 0. -.It Ic title_class_enabled -Enable or disable displaying the window class in the status bar. -Enable by setting to 1. -.It Ic title_name_enabled -Enable or disable displaying the window title in the status bar. -Enable by setting to 1. .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 -.Pa xterm.bellIsUrgent: true -to -.Pa .Xdefaults . +Enable or disable the urgency hint indicator in the status bar. +Note that many terminal emulators require an explicit setting for the bell +character to trigger urgency on the window. In xterm, for example, one needs to +add the following line to +.Pa .Xdefaults : +.Bd -literal -offset indent +xterm.bellIsUrgent: true +.Ed .It Ic verbose_layout -Enable or disable displaying the current master and stack values in the -status bar. Enable by setting to 1. -.It Ic window_name_enabled -Enable or disable displaying the window name in the status bar. +Enable or disable displaying the current master window count and stack column/row +count in the status bar. Enable by setting to 1. +See +.Pa master_add , +.Pa master_del , +.Pa stack_inc +and +.Pa stack_dec +for more information. +.It Ic window_class_enabled +Enable or disable displaying the window class name (from WM_CLASS) in the +status bar. Enable by setting to 1. +.It Ic window_instance_enabled +Enable or disable displaying the window instance name (from WM_CLASS) in the +status bar. Enable by setting to 1. +.It Ic window_name_enabled +Enable or disable displaying the window display name (from _NET_WM_NAME/WM_NAME) +in the status bar. Enable by setting to 1. .Pp To prevent excessively large window names from pushing the remaining text off the bar, it's limited to 64 characters, by default. @@ -425,6 +459,8 @@ is spawned: .It Cm $bar_font_color .It Cm $color_focus .It Cm $color_unfocus +.It Cm $dmenu_bottom +-b if bar_at_bottom is enabled. .It Cm $region_index .It Cm $workspace_index .El @@ -445,7 +481,7 @@ Default programs: .It Cm lock xlock .It Cm menu -dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb +dmenu_run $dmenu_bottom \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb $bar_border \-sf $bar_color .It Cm term xterm @@ -535,6 +571,8 @@ focus_prev .It Cm M-m focus_main .It Cm M-S-j +focus_urgent +.It Cm M-u swap_next .It Cm M-S-k swap_prev @@ -563,6 +601,10 @@ ws_next_all .It Cm M- Ns Aq Cm Down ws_prev_all .It Cm M-a +ws_next_move +.It Cm M-S- Ns Aq Cm Left +ws_prev_move +.It Cm M-S- Ns Aq Cm Up ws_prior .It Cm M-S- Ns Aq Cm Right rg_next @@ -657,6 +699,8 @@ Focus next window in workspace. Focus previous window in workspace. .It Cm focus_main Focus on main window in workspace. +.It Cm focus_urgent +Focus on next window with the urgency hint flag set. The workspace is switched if needed. .It Cm swap_next Swap with next window in workspace. .It Cm swap_prev @@ -701,6 +745,10 @@ Switch to previous workspace with a window in it. Switch to next workspace. .It Cm ws_prev_all Switch to previous workspace. +.It Cm ws_next_move +Switch to next workspace with the current window. +.It Cm ws_prev_move +Switch to previous workspace with the current window. .It Cm ws_prior Switch to last visited workspace. .It Cm rg_next @@ -734,7 +782,9 @@ above). .It Cm iconify Minimize (unmap) currently focused window. .It Cm uniconify -Maximize (map) window returned by dmenu selection. +Restore (map) window returned by dmenu selection. +.It Cm maximize_toggle +Toggle maximization of focused window. .It Cm always_raise When set tiled windows are allowed to obscure floating windows. .It Cm button2 @@ -880,26 +930,56 @@ 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 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 follow. .El .Pp Custom quirks in the configuration file are specified as follows: .Pp -.Dl quirk[:] = [ + ... ] +.Dl quirk[[:[:]]] = [ + ... ] .Pp -.Aq class -and +.Aq class , +.Aq instance +(optional) and .Aq name -specify the window to which the quirk(s) apply, and +(optional) are patterns used to determine which window(s) the quirk(s) apply +and .Aq quirk is one of the quirks from the list above. +.Pp +Note that patterns are interpreted as POSIX Extended Regular Expressions. +Any ':', '[' or ']' must be escaped with '\\'. +See +.Xr regex 7 +for more information on POSIX Extended Regular Expressions. +.Pp For example: .Bd -literal -offset indent -quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV -quirk[pcb:pcb] = NONE # remove existing quirk +quirk[MPlayer] = FLOAT + FULLSCREEN + FOCUSPREV # Float all windows having a \ +class of 'MPlayer' +quirk[.*] = FLOAT # Float all windows by default. +quirk[.*:.*:.*] = FLOAT # Same as above. +quirk[Firefox:Navigator] = FLOAT # Float all Firefox browser windows. +quirk[::Console] = FLOAT # Float windows with WM_CLASS not set and a \ +window name of 'Console'. +quirk[\\[0-9\\].*:.*:\\[\\[\\:alnum\\:\\]\\]*] = FLOAT # Float windows with WM_CLASS \ +class beginning with a number, any WM_CLASS instance and a \ +_NET_WM_NAME/WM_NAME either blank or containing alphanumeric characters without spaces. +quirk[pcb:pcb] = NONE # remove existing quirk .Ed .Pp You can obtain -.Aq class +.Aq class , +.Aq instance and .Aq name by running @@ -907,11 +987,18 @@ by running and then clicking on the desired window. In the following example the main window of Firefox was clicked: .Bd -literal -offset indent -$ xprop | grep WM_CLASS +$ xprop | grep -E "^(WM_CLASS|_NET_WM_NAME|WM_NAME)" WM_CLASS(STRING) = "Navigator", "Firefox" +WM_NAME(STRING) = "spectrwm - ConformalOpenSource" +_NET_WM_NAME(UTF8_STRING) = "spectrwm - ConformalOpenSource" .Ed .Pp -Note that grepping for WM_CLASS flips class and name. +Note that +.Xr xprop 1 +displays WM_CLASS as: +.Bd -literal -offset indent +WM_CLASS(STRING) = "", "" +.Ed In the example above the quirk entry would be: .Bd -literal -offset indent quirk[Firefox:Navigator] = FLOAT @@ -962,7 +1049,7 @@ and .Xr grep 1 : .Bd -literal -offset indent $ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"` -$ xprop \-id $WINDOWID WM_NAME | grep \-o "\\".*\\"" +$ xprop \-id $WINDOWID _NET_WM_NAME | grep \-o "\\".*\\"" .Ed .Pp A window can be focused by sending a _NET_ACTIVE_WINDOW client message @@ -998,6 +1085,12 @@ or un-floated): $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE .Ed .Pp +Windows can also be iconified and un-iconified by substituting +_NET_WM_STATE_HIDDEN for _NET_WM_STATE_ABOVE in the previous example: +.Bd -literal -offset indent +$ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_HIDDEN +.Ed +.Pp Floating windows can also be resized and moved by sending a _NET_MOVERESIZE_WINDOW client message to the root window. For example,