Only consider monitors where the focused desktop is free.
+Window States
+-------------
+
+floating::
+ Is above any tiled window and can be moved/resized freely. Although it doesn't occupy any tiling space, it is still part of the window tree.
+
+fullscreen::
+ Fills its monitor rectangle, is above all the other windows and has no borders.
+
+locked::
+ Ignores the *close* message.
+
+sticky::
+ Stays in the focused desktop of its monitor.
+
+private::
+ Tries to keep the same tiling position/size.
+
+
Commands
--------
*-r*, *--ratio* 'RATIO'::
Set the splitting ratio of the selected window (0 < 'RATIO' < 1).
-*-e*, *--edge* 'DIR' 'RATIO'|pull|push::
- Set the splitting ratio (or pull, or push) the edge located in the given direction in relation to the selected window.
+*-e*, *--edge* 'DIR' 'RATIO'|±'PIXELS'|pull|push::
+ Set and change the splitting ratio of (or pull, or push) the edge located in the given direction in relation to the selected window.
*-R*, *--rotate* 'DIR' '90|270|180'::
Rotate the tree holding the edge located in the given direction in relation to the selected window.
*-r*, *--remove-desktops* <name>...::
Remove desktops with the given names.
-*-n*, *--rename* <new_name>::
- Rename the selected monitor.
+*-o*, *--reorder-desktops* <name>...::
+ Reorder the desktops of the selected monitor to match the given order.
*-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.
+*-n*, *--rename* <new_name>::
+ Rename the selected monitor.
+
*-s*, *--swap* 'MONITOR_SEL'::
Swap the selected monitor with the given monitor.
*-u*, *--ungrab*::
Terminate the current pointer action.
+Rule
+~~~~
+
+General Syntax
+^^^^^^^^^^^^^^
+
+rule 'OPTIONS'
+
+Options
+^^^^^^^
+
+*-a*, *--add* <class_name>|<instance_name>|* [*-o*|*--one-shot*] [desktop=DESKTOP_SEL|monitor=MONITOR_SEL] [(floating|fullscreen|locked|sticky|private|center|lower|follow|manage|focus)=(true|false)]::
+ Create a new rule.
+
+*-r*, *--remove* ^<n>|head|tail|<class_name>|<instance_name>|*...::
+ Remove the given rules.
+
+*-l*, *--list* [<class_name>|<instance_name>|*]::
+ List the rules.
+
Config
~~~~~~
Global Settings
~~~~~~~~~~~~~~~
-'rule_command'::
- External command used to retrieve rule consequences. It must contain at least one integer format directive which will be replaced by the ID of the window being processed. The output of that command must have the following format: *key1=value1 key2=value2 ...*, where *keyN* is one of 'floating', 'fullscreen', 'locked', 'sticky', 'private', 'frame', 'center', 'lower', 'follow', 'manage', 'focus', 'desktop' or 'monitor'.
-
-'status_prefix'::
- Prefix prepended to each of the status lines.
-
'focused_border_color'::
Color of the border of a focused window of a focused monitor.
'urgent_border_color'::
Color of the border of an urgent window.
-'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.
+'status_prefix'::
+ Prefix prepended to each of the status lines.
+
+'external_rules_command'::
+ External command used to retrieve rule consequences. The command will receive the the ID of the window being processed as its first argument and the class and instance names as second and third arguments. The output of that command must have the following format: *key1=value1 key2=value2 ...* (the valid key/value pairs are given in the description of the 'rule' command).
+
'history_aware_focus'::
Give priority to the focus history when focusing nodes.
'ignore_ewmh_focus'::
Ignore EWMH requests to focus a window.
-Monitor Settings
-~~~~~~~~~~~~~~~~
-
-'top_padding'::
-'right_padding'::
-'bottom_padding'::
-'left_padding'::
- Padding space added at the sides of the monitor.
+'remove_disabled_monitor'::
+ Consider disabled monitors as disconnected.
Desktop Settings
~~~~~~~~~~~~~~~~
'window_gap'::
Size of the gap that separates windows.
+'top_padding'::
+'right_padding'::
+'bottom_padding'::
+'left_padding'::
+ Padding space added at the sides of the desktop.
+
'border_width'::
Window border width.
Status informations are composed of items separated by colons.
-Each item as the form '<type><value>' where '<type>' is the first character of the item.
+Each item has the form '<type><value>' where '<type>' is the first character of the item.
'M<monitor_name>'::
Focused monitor.
---------------------
'BSPWM_SOCKET'::
- The path of the socket used for the communication between *bspc* and *bspwm*. If it isn't defined, then the following path is used: '/tmp/bspwm-socket'.
+ The path of the socket used for the communication between *bspc* and *bspwm*. If it isn't defined, then the following path is used: '/tmp/bspwm<display_name>-socket'.
Panels
------