----
WINDOW_SEL := <window_id>
- | (DIR|CYCLE_DIR|biggest|last|focused)[.floating|.tiled][.like|.unlike][.automatic|.manual][.urgent|.nonurgent]
+ | (DIR|CYCLE_DIR|biggest|last|focused|older|newer)[.floating|.tiled][.like|.unlike][.manual][.urgent][.local]
----
Primary Selectors
Selects the biggest window on the current desktop.
last::
- Selects the previously focused window on the current desktop.
+ Selects the previously focused window.
focused::
Selects the currently focused window.
+older::
+ Selects the window older than the focused window in the history.
+
+newer::
+ Selects the window newer than the focused window in the history.
+
Modifiers
^^^^^^^^^
unlike::
Only consider windows that have a different class than the current window.
-automatic::
- Only consider windows in automatic splitting mode.
-
manual::
Only consider windows in manual splitting mode (see *--presel*).
+local::
+ Only consider windows of the current desktop.
+
urgent::
Only consider urgent windows.
-nonurgent::
- Only consider nonurgent windows.
-
Desktop
~~~~~~~
----
DESKTOP_SEL := <desktop_name>
| ^<n>
- | (CYCLE_DIR|last|focused)[.occupied|.free][.urgent|.nonurgent]
+ | (CYCLE_DIR|last|focused|older|newer)[.occupied|.free][.urgent][.local]
----
Primary Selectors
focused::
Selects the currently focused desktop.
+older::
+ Selects the desktop older than the focused desktop in the history.
+
+newer::
+ Selects the desktop newer than the focused desktop in the history.
+
Modifiers
^^^^^^^^^
urgent::
Only consider urgent desktops.
-nonurgent::
- Only consider nonurgent desktops.
+local::
+ Only consider desktops of the current monitor.
Monitor
~~~~~~~
----
MONITOR_SEL := <monitor_name>
| ^<n>
- | (DIR|CYCLE_DIR|last|primary|focused)[.occupied|.free]
+ | (DIR|CYCLE_DIR|last|primary|focused|older|newer)[.occupied|.free]
----
Primary Selectors
focused::
Selects the currently focused monitor.
+older::
+ Selects the monitor older than the focused monitor in the history.
+
+newer::
+ Selects the monitor newer than the focused monitor in the history.
+
Modifiers
^^^^^^^^^
*-R*, *--rotate* 'DIR' '90|270|180'::
Rotate the tree holding the edge located in the given direction in relation to the selected window.
-*-t*, *--toggle* floating|fullscreen|locked[=on|off]::
+*-t*, *--toggle* floating|fullscreen|locked|sticky|private[=on|off]::
Set or toggle the given state for the selected window.
*-c*, *--close*::
*-n*, *--rename* <new_name>::
Rename the selected monitor.
+*-d*, *--reset-desktops* <name>...::
+ Rename, add or remove desktops depending on whether the number of given names is equal, superior or inferior to the number of existing desktops.
+
*-s*, *--swap* 'MONITOR_SEL'::
Swap the selected monitor with the given monitor.
*-H*, *--history*::
Print the history as it relates to the query.
+*-S*, *--stack*::
+ Print the window stacking order.
+
[*-m*,*--monitor* ['MONITOR_SEL']] | [*-d*,*--desktop* ['DESKTOP_SEL']] | [*-w*, *--window* ['WINDOW_SEL']]::
Constrain matches to the selected monitor, desktop or window.
*-H*, *--history* <file_path>::
Load the focus history from the given file.
+*-S*, *--stack* <file_path>::
+ Load the window stacking order from the given file.
+
Control
~~~~~~~
*--toggle-visibility*::
Toggle the visibility of all the windows.
+*--record-history* on|off::
+ Enable or disable the recording of window focus history.
+
Pointer
~~~~~~~
Options
^^^^^^^
+*-g*, *--grab* focus|move|resize_side|resize_corner::
+ Initiate the given pointer action.
+
*-t*, *--track* <x> <y>::
Pass the pointer root coordinates for the current pointer action.
-*-g*, *--grab* focus|move|resize_side|resize_corner::
- Perform the given pointer action.
+*-u*, *--ungrab*::
+ Terminate the current pointer action.
Rule
~~~~
Options
^^^^^^^
-*-a*, *--add* <pattern> [-d 'DESKTOP_SEL' [--follow]] [--floating] [--fullscreen] [--locked] [--focus] [--unmanage] [--one-shot]::
- Create a new rule (<pattern> must match the class or instance name).
+*-a*, *--add* <class_name>|<instance_name> [-d 'DESKTOP_SEL' [--follow]] [--floating] [--fullscreen] [--locked] [--sticky] [--focus] [--frame] [--private] [--unmanage] [--one-shot]::
+ Create a new rule.
-*-r*, *--remove* <rule_uid>|tail|head...::
- Remove the rules with the given UIDs.
+*-r*, *--remove* <name>|^<n>|tail|head...::
+ Remove the rules with the given names or indexes.
-*-l*, *--list* [<pattern>]::
+*-l*, *--list* [<name>]::
List the rules.
Config
'normal_locked_border_color'::
Color of the border of an unfocused locked window.
+'focused_sticky_border_color'::
+ Color of the border of a focused sticky window of a focused monitor.
+
+'active_sticky_border_color'::
+ Color of the border of a focused sticky window of an unfocused monitor.
+
+'normal_sticky_border_color'::
+ Color of the border of an unfocused sticky window.
+
+'focused_private_border_color'::
+ Color of the border of a focused private window of a focused monitor.
+
+'active_private_border_color'::
+ Color of the border of a focused private window of an unfocused monitor.
+
+'normal_private_border_color'::
+ Color of the border of an unfocused private window.
+
'urgent_border_color'::
Color of the border of an urgent window.
-'border_width'::
- Window border width.
+'focused_frame_opacity'::
+ Opacity of a focused frame of a focused monitor.
+
+'active_frame_opacity'::
+ Opacity of a focused frame of an unfocused monitor.
+
+'normal_frame_opacity'::
+ Opacity of an unfocused frame.
'split_ratio'::
Default split ratio.
+'growth_factor'::
+ Intensity of the growth involved in pulling or pushing an edge.
+
'history_aware_focus'::
Give priority to the focus history when focusing nodes.
'apply_floating_atom'::
Set the value of the '_BSPWM_FLOATING_WINDOW' atom of each window according to its floating state.
+'honor_ewmh_focus'::
+ Honor EWMH requests to focus a window.
+
Monitor Settings
~~~~~~~~~~~~~~~~
'window_gap'::
Size of the gap that separates windows.
+'border_width'::
+ Window border width.
+
+
+Internal State Format
+---------------------
+
+If a 'PANEL_FIFO' is specified, *bspwm* will write informations regarding its current state to it.
+
+Those informations are composed of items separated by colons.
+
+Each item as the form '<type><value>' where '<type>' is the first character of the item.
+
+'M<monitor_name>'::
+ Focused monitor.
+
+'m<monitor_name>'::
+ Unfocused monitor.
+
+'O<desktop_name>'::
+ Occupied focused desktop.
+
+'o<desktop_name>'::
+ Occupied unfocused desktop.
+
+'F<desktop_name>'::
+ Free focused desktop.
+
+'f<desktop_name>'::
+ Free unfocused desktop.
+
+'U<desktop_name>'::
+ Urgent focused desktop.
+
+'u<desktop_name>'::
+ Urgent unfocused desktop.
+
+'L(tiled|monocle)'::
+ Layout of the focused desktop of the focused monitor.
Environment Variables
---------------------
Author
------
-Bastien Dejean <baskerville at lavabit.com>
+Bastien Dejean <nihilhill at gmail.com>
Mailing List
------------