]> git.lizzy.rs Git - bspwm.git/blobdiff - doc/bspwm.1.txt
*Frames* are unnecessary
[bspwm.git] / doc / bspwm.1.txt
index 6d1edb60e6273583a6f660baaf1a430dcfbdb6d6..e294f605be16650fb7cc73441a38598761bcb3f0 100644 (file)
@@ -8,14 +8,14 @@ bspwm(1)
 Name
 ----
 
-bspwm - Tiling window manager based on binary space partitioning
+bspwm - Binary space partitioning window manager
 
 Synopsis
 --------
 
-*bspwm* [*-h*|*-v*|*-s* _PANEL_FIFO_|*-p* _PANEL_PREFIX_]
+*bspwm* [*-h*|*-v*|*-c* 'CONFIG_PATH']
 
-*bspc* _MESSAGE_ [_ARGUMENTS_] [_OPTIONS_]
+*bspc* 'COMMAND' ['ARGUMENTS']
 
 Description
 -----------
@@ -24,12 +24,25 @@ Description
 
 It is controlled and configured via *bspc*.
 
+
+Options
+-------
+
+*-h*::
+    Print the synopsis and exit.
+
+*-v*::
+    Print the version and exit.
+
+*-c* 'CONFIG_PATH'::
+    Use the given configuration file.
+
 Configuration
 -------------
 
-*bspwm* have only two sources of informations: the X events it receives and the messages it reads on a dedicated socket.
+*bspwm* has only two sources of informations: the X events it receives and the messages it reads on a dedicated socket.
 
-Its configuration file is _$XDG_CONFIG_HOME/bspwm/autostart_.
+The default configuration file is '$XDG_CONFIG_HOME/bspwm/bspwmrc'.
 
 Keyboard and pointer bindings are defined with https://github.com/baskerville/sxhkd[sxhkd].
 
@@ -38,11 +51,13 @@ Example configuration files can be found in the *examples* directory.
 Splitting Modes
 ---------------
 
-There is only two splitting modes: _automatic_ and _manual_.
+New windows are inserted in the tree as close as possible to the focused window.
 
-The default mode is _automatic_. The _manual_ mode is entered by sending a *presel* message.
+There is only two splitting modes: 'automatic' and 'manual'.
 
-Example: insertion of a new node (number 4) into the given tree in _automatic_ mode:
+The default mode is 'automatic'. The 'manual' mode is entered by sending a *preselection* message.
+
+Example: insertion of a new node (number 4) into the given tree in 'automatic' mode:
 
 ----
               b                                   c
@@ -63,7 +78,7 @@ Example: insertion of a new node (number 4) into the given tree in _automatic_ m
  +-------------------------+         +-------------------------+
 ----
 
-Same departure, but the mode is _manual_, and a *presel* _up_ message was sent beforehand:
+Same departure, but the mode is 'manual', and a *window --presel up* message was sent beforehand:
 
 ----
              b                                   b
@@ -90,288 +105,628 @@ Each monitor contains at least one desktop.
 
 Each desktop contains at most one tree.
 
-Messages
+Common Definitions
+------------------
+
+----
+DIR         := left | right | up | down
+CYCLE_DIR   := next | prev
+----
+
+Selectors
+---------
+
+Selectors are used to select a target window, desktop, or monitor. A selector
+can either describe the target relatively or name it globally.
+
+Descriptive (relative) selectors consist of a primary selector and any number
+of non-conflicting modifiers as follows:
+
+    PRIMARY_SELECTOR[.MODIFIER]*
+
+For obvious reasons, neither desktops nor monitors names may be valid
+descriptive selectors.
+
+Window
+~~~~~~
+
+Select a window.
+
+----
+WINDOW_SEL := <window_id> 
+            | (DIR|CYCLE_DIR|biggest|last|focused|older|newer)[.floating|.tiled][.like|.unlike][.manual][.urgent][.local]
+----
+
+Primary Selectors
+^^^^^^^^^^^^^^^^^
+
+'DIR'::
+    Selects the window in the given (spacial) direction relative to the active
+    window.
+
+'CYCLE_DIR'::
+    Selects the window in the given (cyclic) direction.
+
+biggest::
+    Selects the biggest window on the current desktop.
+
+last::
+    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
+^^^^^^^^^
+
+floating::
+    Only consider floating windows.
+
+tiled::
+    Only consider tiled windows.
+
+like::
+    Only consider windows that have the same class as the current window.
+    
+unlike::
+    Only consider windows that have a different class than the current window.
+
+manual::
+    Only consider windows in manual splitting mode (see *--presel*).
+
+local::
+    Only consider windows of the current desktop.
+
+urgent::
+    Only consider urgent windows.
+
+Desktop
+~~~~~~~
+
+Select a desktop.
+
+----
+DESKTOP_SEL := <desktop_name>
+             | ^<n>
+             | (CYCLE_DIR|last|focused|older|newer)[.occupied|.free][.urgent][.local]
+----
+
+Primary Selectors
+^^^^^^^^^^^^^^^^^
+
+<desktop_name>::
+    Selects the desktop with the given name.
+
+^<n>::
+    Selects the nth desktop.
+
+'CYCLE_DIR'::
+    Selects the desktop in the given direction relative to the active desktop.
+
+last::
+    Selects the previously focused desktop.
+
+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
+^^^^^^^^^
+
+occupied::
+    Only consider occupied desktops.
+
+free::
+    Only consider free desktops.
+
+urgent::
+    Only consider urgent desktops.
+
+local::
+    Only consider desktops of the current monitor.
+
+Monitor
+~~~~~~~
+
+Select a monitor.
+
+----
+MONITOR_SEL := <monitor_name>
+             | ^<n>
+             | (DIR|CYCLE_DIR|last|primary|focused|older|newer)[.occupied|.free]
+----
+
+Primary Selectors
+^^^^^^^^^^^^^^^^^
+
+<monitor_name>::
+    Selects the monitor with the given name.
+
+^<n>::
+    Selects the nth monitor.
+
+'DIR'::
+    Selects the monitor in the given (spacial) direction relative to the active monitor.
+
+'CYCLE_DIR'::
+    Selects the monitor in the given (cyclic) direction relative to the active monitor.
+
+primary::
+    Selects the primary monitor.
+
+last::
+    Selects the previously focused monitor.
+
+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
+^^^^^^^^^
+
+occupied::
+    Only consider monitors where the focused desktop is occupied.
+
+free::
+    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
 --------
 
+Window
+~~~~~~
 
-*get* _SETTING_::
-    Return the value of the given setting.
+General Syntax
+^^^^^^^^^^^^^^
 
-*set* _SETTING_ _VALUE_::
-    Set the value of the given setting.
+window ['WINDOW_SEL'] 'OPTIONS'
 
-*list* [_DESKTOP_NAME_]::
-    Output the internal representation of the window tree.
+Options
+^^^^^^^
+*-f*, *--focus* ['WINDOW_SEL']::
+    Focus the selected or given window.
 
-*list_desktops* [*--quiet*]::
-    Perform a dump of each desktop for the current monitor.
+*-d*, *--to-desktop* 'DESKTOP_SEL'::
+    Send the selected window to the given desktop.
 
-*list_monitors* [*--quiet*]::
-    Perform a dump of each monitor.
+*-m*, *--to-monitor* 'MONITOR_SEL'::
+    Send the selected window to the given monitor.
 
-*list_history*::
-    Return the node focus history of each desktop.
+*-w*, *--to-window* 'WINDOW_SEL'::
+    Transplant the selected window to the given window.
 
-*list_windows*::
-    Return the list of managed windows (i.e. their identifiers).
+*-s*, *--swap* 'WINDOW_SEL'::
+    Swap the selected window with the given window.
 
-*list_rules*::
-    Return the list of rules.
+*-p*, *--presel* 'DIR'|cancel::
+    Preselect the splitting area of the selected window (or cancel the preselection).
 
-*presel* _left_|_right_|_up_|_down_ [_SPLIT_RATIO_]::
-    Switch to manual mode and select the splitting direction.
+*-r*, *--ratio* 'RATIO'::
+    Set the splitting ratio of the selected window (0 < 'RATIO' < 1).
 
-*cancel* [*--all*]::
-    Switch to automatic mode.
+*-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.
 
-*ratio* _VALUE_::
-    Set the splitting ratio of the focused window.
+*-R*, *--rotate* 'DIR' '90|270|180'::
+    Rotate the tree holding the edge located in the given direction in relation to the selected window.
 
-*pad* _MONITOR_NAME_ [_TOP_PADDING_ [_RIGHT_PADDING_ [_BOTTOM_PADDING_ [_LEFT_PADDING_]]]]::
-    Set the padding of the given monitor.
+*-t*, *--toggle* floating|fullscreen|locked|sticky|private[=on|off]::
+    Set or toggle the given state for the selected window.
 
-*focus* _left_|_right_|_up_|_down_::
-    Focus the neighbor window situated in the given direction.
+*-c*, *--close*::
+    Close the selected window.
 
-*shift* _left_|_right_|_up_|_down_::
-    Exchange the current window with the given neighbor.
+*-k*, *--kill*::
+    Kill the selected window.
 
-*swap* [*--keep-focus*]::
-    Swap the focused window with the last focused window.
+Desktop
+~~~~~~~
 
-*push* _left_|_right_|_up_|_down_::
-    Push the fence located in the given direction.
+General Syntax
+^^^^^^^^^^^^^^
 
-*pull* _left_|_right_|_up_|_down_::
-    Pull the fence located in the given direction.
+desktop ['DESKTOP_SEL'] 'OPTIONS'
 
-*fence_ratio* _left_|_right_|_up_|_down_ _RATIO_::
-    Set the splitting ratio of the fence located in the given direction.
+Options
+^^^^^^^
+*-f*, *--focus* ['DESKTOP_SEL']::
+    Focus the selected or given desktop.
 
-*cycle* _next_|_prev_ [*--skip-floating*|*--skip-tiled*|*--skip-class-equal*|*--skip-class-differ*]::
-    Focus the next or previous window matching the given constraints.
+*-m*, *--to-monitor* 'MONITOR_SEL'::
+    Send the selected desktop to the given monitor.
 
-*nearest* _older_|_newer_ [*--skip-floating*|*--skip-tiled*|*--skip-class-equal*|*--skip-class-differ*]::
-    Focus the nearest window matching the given constraints.
+*-l*, *--layout* 'CYCLE_DIR'|monocle|tiled::
+    Set or cycle the layout of the selected desktop.
 
-*biggest*::
-    Return the ID of the biggest tiled window.
+*-n*, *--rename* <new_name>::
+    Rename the selected desktop.
 
-*circulate* _forward_|_backward_::
-    Circulate the leaves in the given direction.
+*-s*, *--swap* 'DESKTOP_SEL'::
+    Swap the selected desktop with the given desktop.
 
-*grab_pointer* _focus_|_move_|_resize_side_|_resize_corner_::
-    Begin the specified pointer action.
+*-r*, *--remove*::
+    Remove the selected desktop.
 
-*track_pointer* _ROOT_X_ _ROOT_Y_::
-    Pass the pointer root coordinates for the current pointer action.
+*-c*, *--cancel-presel*::
+    Cancel the preselection of all the windows of the selected desktop.
+
+*-F*, *--flip* 'horizontal|vertical'::
+    Flip the tree of the selected desktop.
+
+*-R*, *--rotate* '90|270|180'::
+    Rotate the tree of the selected desktop.
+
+*-B*, *--balance*::
+    Adjust the split ratios of the tree of the selected desktop so that all windows occupy the same area.
 
-*toggle_fullscreen*::
-    Toggle the fullscreen state of the current window.
+*-C*, *--circulate* forward|backward::
+    Circulate the leaves of the tree of the selected desktop.
 
-*toggle_floating*::
-    Toggle the floating state of the current window.
+*-t*, *--toggle* floating[=on|off]::
+    Set or toggle the given state for the selected desktop.
 
-*toggle_locked*::
-    Toggle the locked state of the current window (locked windows will not respond to the *close* message).
 
-*toggle_visibility*::
-    Toggle the visibility of all the managed windows.
+Monitor
+~~~~~~~
 
-*close*::
-    Close the focused window.
+General Syntax
+^^^^^^^^^^^^^^
 
-*kill*::
-    Kill the focused window.
+monitor ['MONITOR_SEL'] 'OPTIONS'
 
-*send_to* _DESKTOP_NAME_ [*--follow*]::
-    Send the focused window to the given desktop.
+Options
+^^^^^^^
+*-f*, *--focus* ['MONITOR_SEL']::
+    Focus the selected or given monitor.
 
-*drop_to* _next_|_prev_ [*--follow*]::
-    Send the focused window to the next or previous desktop.
+*-a*, *--add-desktops* <name>...::
+    Create desktops with the given names in the selected monitor.
 
-*send_to_monitor* _MONITOR_NAME_ [*--follow*]::
-    Send the focused window to the given monitor.
+*-r*, *--remove-desktops* <name>...::
+    Remove desktops with the given names.
 
-*drop_to_monitor* _next_|_prev_ [*--follow*]::
-    Send the focused window to the next or previous monitor.
+*-o*, *--reorder-desktops* <name>...::
+    Reorder the desktops of the selected monitor to match the given order.
 
-*use* _DESKTOP_NAME_::
-    Select the given desktop.
+*-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.
 
-*use_monitor* _MONITOR_NAME_::
-    Select the given monitor.
+*-n*, *--rename* <new_name>::
+    Rename the selected monitor.
 
-*focus_monitor* _left_|_right_|_up_|_down_::
-    Focus the nearest monitor in the given direction.
+*-s*, *--swap* 'MONITOR_SEL'::
+    Swap the selected monitor with the given monitor.
 
-*alternate*::
-    Alternate between the current and the last focused window.
+Query
+~~~~~
 
-*alternate_desktop*::
-    Alternate between the current and the last focused desktop.
+General Syntax
+^^^^^^^^^^^^^^
 
-*alternate_monitor*::
-    Alternate between the current and the last focused monitor.
+query 'OPTIONS'
 
-*add* _DESKTOP_NAME_ ...::
-    Make new desktops with the given names.
+Options
+^^^^^^^
+*-W*, *--windows*::
+    List matching windows.
 
-*add_in* _MONITOR_NAME_ _DESKTOP_NAME_ ...::
-    Make new desktops with the given names in the given monitor.
+*-D*, *--desktops*::
+    List matching desktops.
 
-*rename_monitor* _CURRENT_NAME_ _NEW_NAME_::
-    Rename the monitor named _CURRENT_NAME_ to _NEW_NAME_.
+*-M*, *--monitors*::
+    List matching monitors.
 
-*rename* _CURRENT_NAME_ _NEW_NAME_::
-    Rename the desktop named _CURRENT_NAME_ to _NEW_NAME_.
+*-T*, *--tree*::
+    Print tree rooted at query.
 
-*remove_desktop* _DESKTOP_NAME_ ...::
-    Remove the given desktops.
+*-H*, *--history*::
+    Print the history as it relates to the query.
 
-*send_desktop_to* _MONITOR_NAME_ [*--follow*]::
-    Send the current desktop to the given monitor.
+*-S*, *--stack*::
+    Print the window stacking order.
 
-*cycle_monitor* _next_|_prev_::
-    Select the next or previous monitor.
+[*-m*,*--monitor* ['MONITOR_SEL']] | [*-d*,*--desktop* ['DESKTOP_SEL']] | [*-w*, *--window* ['WINDOW_SEL']]::
+    Constrain matches to the selected monitor, desktop or window.
 
-*cycle_desktop* _next_|_prev_ [*--skip-free*|*--skip-occupied*]::
-    Select the next or previous desktop.
+Restore
+~~~~~~~
 
-*layout* _monocle_|_tiled_ [_DESKTOP_NAME_ ...]::
-    Set the layout of the given desktops (current if none given).
+General Syntax
+^^^^^^^^^^^^^^
 
-*cycle_layout*::
-    Cycle the layout of the current desktop.
+restore 'OPTIONS'
 
-*rotate* _clockwise_|_counter_clockwise_|_full_cycle_::
-    Rotate the window tree.
+Options
+^^^^^^^
 
-*flip* _horizontal_|_vertical_::
-    Flip the window tree.
+*-T*, *--tree* <file_path>::
+    Load the desktop trees from the given file.
 
-*balance*::
-    Adjust the split ratios so that all windows occupy the same area.
+*-H*, *--history* <file_path>::
+    Load the focus history from the given file.
 
-*rule* _PATTERN_ [_DESKTOP_NAME_] [_floating_] [_follow_]::
-    Create a new rule (_PATTERN_ must match the class or instance name).
+*-S*, *--stack* <file_path>::
+    Load the window stacking order from the given file.
 
-*remove_rule* _UID_ ...::
-    Remove the rules with the given _UIDs_.
+Control
+~~~~~~~
 
-*put_status*::
-    Output the current state to the panel fifo.
+General Syntax
+^^^^^^^^^^^^^^
 
-*adopt_orphans*::
+control 'OPTIONS'
+
+Options
+^^^^^^^
+
+*--adopt-orphans*::
     Manage all the unmanaged windows remaining from a previous session.
 
-*restore_layout* _FILE_PATH_::
-    Restore the layout of each desktop from the content of _FILE_PATH_.
+*--toggle-visibility*::
+    Toggle the visibility of all the windows.
+
+*--record-history* on|off::
+    Enable or disable the recording of window focus history.
+
+*--subscribe*::
+    Continuously print status informations on standard output.
+
+Pointer
+~~~~~~~
+
+General Syntax
+^^^^^^^^^^^^^^
+
+pointer 'OPTIONS'
+
+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.
+
+*-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
+~~~~~~
+
+General Syntax
+^^^^^^^^^^^^^^
 
-*restore_history* _FILE_PATH_::
-    Restore the history of each desktop from the content of _FILE_PATH_.
+config [-m 'MONITOR_SEL'|-d 'DESKTOP_SEL'] <key> [<value>]::
+    Get or set the value of <key>.
 
-*quit* [_EXIT_STATUS_]::
-    Quit.
+Quit
+~~~~
+
+General Syntax
+^^^^^^^^^^^^^^
+
+quit [<status>]::
+    Quit with an optional exit status.
 
 Settings
 --------
-Colors are either http://en.wikipedia.org/wiki/X11_color_names[X color names] or _#RRGGBB_, booleans are _true_ or _false_.
+Colors are either http://en.wikipedia.org/wiki/X11_color_names[X color names] or '#RRGGBB', booleans are 'true' or 'false'.
 
-All the boolean settings are _false_ by default.
+All the boolean settings are 'false' by default.
 
+Global Settings
+~~~~~~~~~~~~~~~
 
-_focused_border_color_::
+'focused_border_color'::
     Color of the border of a focused window of a focused monitor.
 
-_active_border_color_::
+'active_border_color'::
     Color of the border of a focused window of an unfocused monitor.
 
-_normal_border_color_::
+'normal_border_color'::
     Color of the border of an unfocused window.
 
-_presel_border_color_::
+'presel_border_color'::
     Color of the *presel* message feedback.
 
-_focused_locked_border_color_::
+'focused_locked_border_color'::
     Color of the border of a focused locked window of a focused monitor.
 
-_active_locked_border_color_::
+'active_locked_border_color'::
     Color of the border of a focused locked window of an unfocused monitor.
 
-_normal_locked_border_color_::
+'normal_locked_border_color'::
     Color of the border of an unfocused locked window.
 
-_urgent_border_color_::
-    Color of the border of an urgent window.
+'focused_sticky_border_color'::
+    Color of the border of a focused sticky window of a focused monitor.
 
-_border_width_::
-    Window border width.
+'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.
 
-_window_gap_::
-    Value of the gap that separates windows.
+'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.
 
-_split_ratio_::
+'split_ratio'::
     Default split ratio.
 
-_top_padding_, _right_padding_, _bottom_padding_, _left_padding_::
-    Padding space added at the sides of the current monitor.
+'growth_factor'::
+    Intensity of the growth involved in pulling or pushing an edge.
 
-_wm_name_::
-    The value that shall be used for the '_NET_WM_NAME' property of the root window.
+'status_prefix'::
+    Prefix prepended to each of the status lines.
 
-_borderless_monocle_::
+'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.
+
+'borderless_monocle'::
     Remove borders for tiled windows in monocle mode.
 
-_gapless_monocle_::
+'gapless_monocle'::
     Remove gaps for tiled windows in monocle mode.
 
-_focus_follows_pointer_::
+'focus_follows_pointer'::
     Focus the window under the pointer.
 
-_pointer_follows_monitor_::
+'pointer_follows_monitor'::
     When focusing a monitor, put the pointer at its center.
 
-_monitor_focus_fallback_::
-    If the focus message fails, try to focus the nearest monitor in the same direction.
+'auto_alternate'::
+    Interpret two consecutive identical *use* messages as an *alternate* message.
 
-_adaptative_raise_::
-    Prevent floating windows from being raised when they might cover other floating windows.
+'auto_cancel'::
+    Interpret two consecutive identical *presel* messages as a *cancel* message.
 
-_apply_shadow_property_::
-    Enable shadows for floating windows via the '_COMPTON_SHADOW' property.
+'apply_floating_atom'::
+    Set the value of the '_BSPWM_FLOATING_WINDOW' atom of each window according to its floating state.
 
-_auto_alternate_::
-    Interpret two consecutive identical *use* messages as an *alternate* message.
+'ignore_ewmh_focus'::
+    Ignore EWMH requests to focus a window.
 
-_auto_cancel_::
-    Interpret two consecutive identical *presel* messages as a *cancel* message.
+'remove_disabled_monitor'::
+    Consider disabled monitors as disconnected.
 
-_focus_by_distance_::
-    Use window or leaf distance for focus movement.
+Desktop Settings
+~~~~~~~~~~~~~~~~
 
-_history_aware_focus_::
-    Give priority to the focus history when focusing nodes.
+'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 Format
+-------------
+
+Status informations are composed of items separated by colons.
+
+Each item has 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
 ---------------------
 
-_BSPWM_SOCKET_::
-  The path of the socket used for the communication between *bspc* and *bspwm*.
+'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
 ------
 
-* Any EWMH compliant panel (e.g.: _tint2_, _bmpanel2_, etc.).
-* A custom panel if the _-s_ flag is used (have a look at the files in _examples/panel_).
+* Any EWMH compliant panel (e.g.: 'tint2', 'bmpanel2', etc.).
+* A custom panel if the '-s' flag is used (have a look at the files in 'examples/panel').
 
 Key Features
 ------------
 
 * Configured and controlled through messages.
-* Multiple monitors support (via _RandR_).
+* Multiple monitors support (via 'RandR').
 * EWMH support (*tint2* works).
-* Automatic and manual modes.
+* Hybrid tiling.
 
 Contributors
 ------------
@@ -383,7 +738,7 @@ Contributors
 Author
 ------
 
-Bastien Dejean <baskerville at lavabit.com>
+Bastien Dejean <nihilhill at gmail.com>
 
 Mailing List
 ------------