.It Ic bar_font_color Ns Bq Ar x
Color of the font in status bar in screen
.Ar x .
+.It Ic bar_format
+Set the bar_format string and overrides
+.Ic clock_format
+and all of the
+.Ic enabled
+options.
+The format is passed through
+.Xr strftime 3
+before being used.
+It may contain the following character sequences:
+.Bl -column "Character sequence" "Replaced with" -offset indent
+.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 "+D" Ta "Workspace name"
+.It Li "+F" Ta "Floating indicator"
+.It Li "+I" Ta "Workspace index"
+.It Li "+N" Ta "Screen number"
+.It Li "+P" Ta "Window class and title separated by a colon"
+.It Li "+S" Ta "Stacking algorithm"
+.It Li "+T" Ta "Window title"
+.It Li "+U" Ta "Urgency hint"
+.It Li "+V" Ta "Program version"
+.It Li "+W" Ta "Window name"
+.It Li "++" Ta "A literal" Ql +
+.El
+.Pp
+All character sequences may limit its output to a specific length, for example
++64A.
+Any characters that don't match the specification are copied as-is.
.It Ic bar_justify
Justify the status bar text. Possible values are
.Pa left ,
.Pa center ,
and
.Pa right .
+.Pp
+Note that if the output is not
+.Pa left
+justified, it may not be properly aligned in some circumstances, due to the
+white-spaces in the default static format.
+See the
+.Ic bar_format
+option for more details.
.It Ic bind Ns Bq Ar x
Bind key combo to action
.Ar x .
For example, 0.6 is 60% of the physical screen size.
.It Ic disable_border
Remove border when bar is disabled and there is only one window on the screen.
+.It Ic focus_close
+Window to put focus when the focused window is closed.
+Possible values are
+.Pa first ,
+.Pa next ,
+.Pa previous
+(default) and
+.Pa last .
+.Pa next
+and
+.Pa previous
+are relative to the window that is closed.
+.It Ic focus_close_wrap
+Whether to allow the focus to jump to the last window when the first window is
+closed or vice versa.
+Disable by setting to 0.
+.It Ic focus_default
+Window to put focus when no window has been focused.
+Possible values are
+.Pa first
+and
+.Pa last
+(default).
.It Ic focus_mode
Using a value of
.Pa follow_cursor
maintaining default floating window behavior.
Possible stack_mode values are
.Pa vertical ,
-.Pa horizontal
+.Pa vertical_flip ,
+.Pa horizontal ,
+.Pa horizontal_flip
and
.Pa fullscreen .
.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 Ic spawn_position
+Position in stack to place newly spawned windows.
+Possible values are
+.Pa first ,
+.Pa next ,
+.Pa previous
+and
+.Pa last
+(default).
+.Pa next
+and
+.Pa previous
+are relative to the focused window.
.It Ic stack_enabled
Enable or disable displaying the current stacking algorithm in the status bar.
.It Ic term_width
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
+.Pa xterm.bellIsUrgent: true
to
.Pa .Xdefaults .
.It Ic verbose_layout
.It Ic window_name_enabled
Enable or disable displaying the window name in the status bar.
Enable by setting to 1.
+.Pp
+To prevent excessively large window names from pushing the remaining text off
+the screen, it's limited to 64 characters, by default.
+See the
+.Ic bar_format
+option for more details.
+.It Ic workspace_limit
+Set the total number of workspaces available. Minimum is 1, maximum is 22.
.El
.Pp
Colors need to be specified per the
.Pp
The default key bindings are described below:
.Pp
-.Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
+.Bl -tag -width "M-j, M-<TAB>XXXXXX" -offset indent -compact
.It Cm M-S- Ns Aq Cm Return
term
.It Cm M-p
wind_del
.It Cm M-S-x
wind_kill
-.It Cm M- Ns Aq Ar n
-.Pf ws_ Ar n
-.It Cm M-S- Ns Aq Ar n
-.Pf mvws_ Ar n
+.It Cm M- Ns Aq Ar 1-9,0,F1-F12
+.Pf ws_ Aq Ar 1-22
+.It Cm M-S- Ns Aq Ar 1-9,0,F1-F12
+.Pf mvws_ Ns Aq Ar 1-22
.It Cm M- Ns Aq Cm Right
ws_next
.It Cm M- Ns Aq Cm Left
.Ar n ,
where
.Ar n
-is 1 through 10.
+is 1 through workspace_limit.
.It Cm mvws_ Ns Ar n
Move current window to workspace
.Ar n ,
where
.Ar n
-is 1 through 10.
+is 1 through workspace_limit.
.It Cm ws_next
Switch to next workspace with a window in it.
.It Cm ws_prev
specify MOD as the modifier key.
.Pp
Multiple key combinations may be bound to the same action.
+.Pp
+To bind non-latin characters such as å or π you must enter the xkb
+character name instead of the character itself. Run xev, focus the window
+and press the specific key and in the terminal output read the symbol name.
+In the fallowing example for å:
+.Bd -literal -offset indent
+KeyPress event, serial 41, synthetic NO, window 0x2600001,
+ root 0x15a, subw 0x0, time 106213808, (11,5), root:(359,823),
+ state 0x0, keycode 24 (keysym 0xe5, aring), same_screen YES,
+ XLookupString gives 2 bytes: (c3 a5) "å"
+ XmbLookupString gives 2 bytes: (c3 a5) "å"
+ XFilterEvent returns: False
+.Ed
+.Pp
+The xkb name is aring. In other words, in .spectrwm.conf add:
+.Bd -literal -offset indent
+bind[program] = MOD+aring
+.Ed
.Sh KEYBOARD MAPPING FILES
Keyboard mapping files for several keyboard layouts are listed
below.