+++ /dev/null
-image:https://github.com/baskerville/bspwm/raw/master/logo/bspwm-logo.png[logo]
-
-:man source: Bspwm
-:man version: {revnumber}
-:man manual: Bspwm Manual
-
-bspwm(1)
-========
-
-Name
-----
-
-bspwm - Tiling window manager based on binary space partitioning
-
-Synopsis
---------
-
-*bspwm* [*-h*|*-v*|*-s* _PANEL_FIFO_|*-p* _PANEL_PREFIX_]
-
-*bspc* _MESSAGE_ [_ARGUMENTS_] [_OPTIONS_]
-
-Description
------------
-
-*bspwm* is a tiling window manager that represents windows as the leaves of a full binary tree.
-
-It is controlled and configured via *bspc*.
-
-Configuration
--------------
-
-*bspwm* have 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_.
-
-Keyboard and pointer bindings are defined with https://github.com/baskerville/sxhkd[sxhkd].
-
-Example configuration files can be found in the *examples* directory.
-
-Splitting Modes
----------------
-
-There is only two splitting modes: _automatic_ and _manual_.
-
-The default mode is _automatic_. The _manual_ mode is entered by sending a *presel* message.
-
-Example: insertion of a new node (number 4) into the given tree in _automatic_ mode:
-
-----
- b c
- / \ / \
- 3 a --> 4 b
- ^ / \ ^ / \
- 2 1 3 a
- / \
- 2 1
- +-------------------------+ +-------------------------+
- | | | | | |
- | | 2 | | | 3 |
- | | | | | |
- | 3 |------------| --> | 4 |------------|
- | ^ | | | ^ | | |
- | | 1 | | | 1 | 2 |
- | | | | | | |
- +-------------------------+ +-------------------------+
-----
-
-Same departure, but the mode is _manual_, and a *presel* _up_ message was sent beforehand:
-
-----
- b b
- / \ / \
- 3 a --> c a
- ^ / \ / \ / \
- 2 1 4 3 2 1
- ^
-+-------------------------+ +-------------------------+
-| | | | | |
-| | 2 | | 4 | 2 |
-| | | | ^ | |
-| 3 |------------| --> |------------|------------|
-| ^ | | | | |
-| | 1 | | 3 | 1 |
-| | | | | |
-+-------------------------+ +-------------------------+
-----
-
-Containers
-----------
-
-Each monitor contains at least one desktop.
-
-Each desktop contains at most one tree.
-
-Messages
---------
-
-
-*get* _SETTING_::
- Return the value of the given setting.
-
-*set* _SETTING_ _VALUE_::
- Set the value of the given setting.
-
-*list* [_DESKTOP_NAME_]::
- Output the internal representation of the window tree.
-
-*list_desktops* [*--quiet*]::
- Perform a dump of each desktop for the current monitor.
-
-*list_monitors* [*--quiet*]::
- Perform a dump of each monitor.
-
-*list_history*::
- Return the node focus history of each desktop.
-
-*list_windows*::
- Return the list of managed windows (i.e. their identifiers).
-
-*list_rules*::
- Return the list of rules.
-
-*presel* _left_|_right_|_up_|_down_ [_SPLIT_RATIO_]::
- Switch to manual mode and select the splitting direction.
-
-*cancel* [*--all*]::
- Switch to automatic mode.
-
-*ratio* _VALUE_::
- Set the splitting ratio of the focused window.
-
-*pad* _MONITOR_NAME_ [_TOP_PADDING_ [_RIGHT_PADDING_ [_BOTTOM_PADDING_ [_LEFT_PADDING_]]]]::
- Set the padding of the given monitor.
-
-*focus* _left_|_right_|_up_|_down_::
- Focus the neighbor window situated in the given direction.
-
-*shift* _left_|_right_|_up_|_down_::
- Exchange the current window with the given neighbor.
-
-*swap* [*--keep-focus*]::
- Swap the focused window with the last focused window.
-
-*push* _left_|_right_|_up_|_down_::
- Push the fence located in the given direction.
-
-*pull* _left_|_right_|_up_|_down_::
- Pull the fence located in the given direction.
-
-*fence_ratio* _left_|_right_|_up_|_down_::
- Set the splitting ratio of the fence located in the given direction.
-
-*cycle* _next_|_prev_ [*--skip-floating*|*--skip-tiled*|*--skip-class-equal*|*--skip-class-differ*]::
- Focus the next or previous window matching the given constraints.
-
-*nearest* _older_|_newer_ [*--skip-floating*|*--skip-tiled*|*--skip-class-equal*|*--skip-class-differ*]::
- Focus the nearest window matching the given constraints.
-
-*biggest*::
- Return the ID of the biggest tiled window.
-
-*circulate* _forward_|_backward_::
- Circulate the leaves in the given direction.
-
-*grab_pointer* _focus_|_move_|_resize_side_|_resize_corner_::
- Begin the specified pointer action.
-
-*track_pointer* _ROOT_X_ _ROOT_Y_::
- Pass the pointer root coordinates for the current pointer action.
-
-*ungrab_pointer*::
- End the current pointer action.
-
-*toggle_fullscreen*::
- Toggle the fullscreen state of the current window.
-
-*toggle_floating*::
- Toggle the floating state of the current window.
-
-*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.
-
-*close*::
- Close the focused window.
-
-*kill*::
- Kill the focused window.
-
-*send_to* _DESKTOP_NAME_ [*--follow*]::
- Send the focused window to the given desktop.
-
-*drop_to* _next_|_prev_ [*--follow*]::
- Send the focused window to the next or previous desktop.
-
-*send_to_monitor* _MONITOR_NAME_ [*--follow*]::
- Send the focused window to the given monitor.
-
-*drop_to_monitor* _next_|_prev_ [*--follow*]::
- Send the focused window to the next or previous monitor.
-
-*use* _DESKTOP_NAME_::
- Select the given desktop.
-
-*use_monitor* _MONITOR_NAME_::
- Select the given monitor.
-
-*focus_monitor* _left_|_right_|_up_|_down_::
- Focus the nearest monitor in the given direction.
-
-*alternate*::
- Alternate between the current and the last focused window.
-
-*alternate_desktop*::
- Alternate between the current and the last focused desktop.
-
-*alternate_monitor*::
- Alternate between the current and the last focused monitor.
-
-*add* _DESKTOP_NAME_ ...::
- Make new desktops with the given names.
-
-*add_in* _MONITOR_NAME_ _DESKTOP_NAME_ ...::
- Make new desktops with the given names in the given monitor.
-
-*rename_monitor* _CURRENT_NAME_ _NEW_NAME_::
- Rename the monitor named _CURRENT_NAME_ to _NEW_NAME_.
-
-*rename* _CURRENT_NAME_ _NEW_NAME_::
- Rename the desktop named _CURRENT_NAME_ to _NEW_NAME_.
-
-*remove_desktop* _DESKTOP_NAME_ ...::
- Remove the given desktops.
-
-*send_desktop_to* _MONITOR_NAME_ [*--follow*]::
- Send the current desktop to the given monitor.
-
-*cycle_monitor* _next_|_prev_::
- Select the next or previous monitor.
-
-*cycle_desktop* _next_|_prev_ [*--skip-free*|*--skip-occupied*]::
- Select the next or previous desktop.
-
-*layout* _monocle_|_tiled_ [_DESKTOP_NAME_ ...]::
- Set the layout of the given desktops (current if none given).
-
-*cycle_layout*::
- Cycle the layout of the current desktop.
-
-*rotate* _clockwise_|_counter_clockwise_|_full_cycle_::
- Rotate the window tree.
-
-*flip* _horizontal_|_vertical_::
- Flip the window tree.
-
-*balance*::
- Adjust the split ratios so that all windows occupy the same area.
-
-*rule* _PATTERN_ [_DESKTOP_NAME_] [_floating_] [_follow_]::
- Create a new rule (_PATTERN_ must match the class or instance name).
-
-*remove_rule* _UID_ ...::
- Remove the rules with the given _UIDs_.
-
-*put_status*::
- Output the current state to the panel fifo.
-
-*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_.
-
-*restore_history* _FILE_PATH_::
- Restore the history of each desktop from the content of _FILE_PATH_.
-
-*quit* [_EXIT_STATUS_]::
- Quit.
-
-Settings
---------
-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.
-
-
-_focused_border_color_::
- Color of the border of a focused window of a focused monitor.
-
-_active_border_color_::
- Color of the border of a focused window of an unfocused monitor.
-
-_normal_border_color_::
- Color of the border of an unfocused window.
-
-_presel_border_color_::
- Color of the *presel* message feedback.
-
-_focused_locked_border_color_::
- Color of the border of a focused locked window of a focused monitor.
-
-_active_locked_border_color_::
- Color of the border of a focused locked window of an unfocused monitor.
-
-_normal_locked_border_color_::
- Color of the border of an unfocused locked window.
-
-_urgent_border_color_::
- Color of the border of an urgent window.
-
-_border_width_::
- Window border width.
-
-_window_gap_::
- Value of the gap that separates windows.
-
-_split_ratio_::
- Default split ratio.
-
-_top_padding_, _right_padding_, _bottom_padding_, _left_padding_::
- Padding space added at the sides of the current monitor.
-
-_wm_name_::
- The value that shall be used for the '_NET_WM_NAME' property of the root window.
-
-_borderless_monocle_::
- Remove borders for tiled windows in monocle mode.
-
-_gapless_monocle_::
- Remove gaps for tiled windows in monocle mode.
-
-_focus_follows_pointer_::
- Focus the window under the pointer.
-
-_pointer_follows_monitor_::
- When focusing a monitor, put the pointer at its center.
-
-_adaptative_raise_::
- Prevent floating windows from being raised when they might cover other floating windows.
-
-_apply_shadow_property_::
- Enable shadows for floating windows via the '_COMPTON_SHADOW' property.
-
-_auto_alternate_::
- Interpret two consecutive identical *use* messages as an *alternate* message.
-
-_focus_by_distance_::
- Use window or leaf distance for focus movement.
-
-_history_aware_focus_::
- Give priority to the focus history when focusing nodes.
-
-Environment Variables
----------------------
-
-_BSPWM_SOCKET_::
- The path of the socket used for the communication between *bspc* and *bspwm*.
-
-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_).
-
-Key Features
-------------
-
-* Configured and controlled through messages.
-* Multiple monitors support (via _RandR_).
-* EWMH support (*tint2* works).
-* Automatic and manual modes.
-
-Contributors
-------------
-
-* Ivan Kanakarakis <ivan.kanak at gmail.com>
-* Thomas Adam <thomas at xteddy.org>
-
-Author
-------
-
-Bastien Dejean <baskerville at lavabit.com>
-
-Mailing List
-------------
-
-bspwm at librelist.com
-
-////
-vim: set ft=asciidoc:
-////