bspwm \- Tiling window manager based on binary space partitioning
.SH SYNOPSIS
.B bspwm
-.RI [ -v | "-s STATUS_FIFO" ]
+.RI [ -h | -v | "-s PANEL_FIFO" | "-p PANEL_PREFIX" ]
.P
.BI bspc " MESSAGE"
.RI [ ARGUMENTS ]
.RI [ OPTIONS ]
.SH DESCRIPTION
.B bspwm
-is a tiling window manager where each window is represented as the leaf of a binary tree. It is controlled and configured via
+is a tiling window manager where each window is represented as the leaf of a binary tree.
+.P
+It is controlled and configured via
.BR bspc .
.SH CONFIGURATION
.B bspwm
.B X
events it receives and the messages it reads on a dedicated socket.
.P
-Those messages are sent via
-.BR bspc .
-.P
-If the
-.I BSPWM_SOCKET
-environment variable is defined, it will be used as the socket path, otherwise
-.I /tmp/bspwm-socket
-is used.
+Its configuration file is
+.IR $XDG_CONFIG_HOME/bspwm/autostart .
.P
-The recommended way of defining keyboard shortcuts is to use
+Keyboard and pointer bindings are defined through
.BR sxhkd .
.P
-The only way to configure
-.B bspwm
-is by sending
-.I set
-messages via the client, hence
-.BR bspwm \'s
-configuration file is an executable called
-.I autostart
-which lives in
-.IR $XDG_CONFIG_HOME/bspwm/ .
+Example configuration files can be found in the
+.I examples
+directory.
.SH SPLITTING MODES
There is only two splitting modes:
.IR automatic " and " manual .
.BI shift " left|right|up|down"
Exchange the current window with the given neighbor.
.TP
+.BI swap " [biggest|smallest]"
+Swap the focused window with the biggest/smallest window or with the last focused window if no arguments are given.
+.TP
.BI push " left|right|up|down"
Push the fence located in the given direction.
.TP
.BI circulate " forward|backward"
Circulate the leaves in the given direction.
.TP
-.BI grab_pointer " move|resize|focus"
+.BI grab_pointer " focus|move|resize_side|resize_corner"
Begin the specified pointer action.
.TP
.BI track_pointer " ROOT_X ROOT_Y"
.BI send_to " DESKTOP_NAME [--follow]"
Send the focused window to the given desktop.
.TP
+.BI drop_to " next|prev [--follow]"
+Send the focused window to the next or previous desktop.
+.TP
.BI send_to_monitor " MONITOR_NAME [--follow]"
Send the focused window to the given monitor.
.TP
+.BI drop_to_monitor " next|prev [--follow]"
+Send the focused window to the next or previous monitor.
+.TP
.BI use " DESKTOP_NAME"
Select the given desktop.
.TP
Cycle the layout of the current desktop.
.TP
.BI rotate " clockwise|counter_clockwise|full_cycle"
-Rotate the tree of the current desktop.
+Rotate the window tree.
+.TP
+.BI flip " horizontal|vertical"
+Flip the window tree.
.TP
-.BI rule " PATTERN [DESKTOP_NAME] [floating]"
+.B balance
+Adjust the split ratios so that all windows occupy the same area.
+.TP
+.BI rule " PATTERN [DESKTOP_NAME] [floating] [follow]"
Create a new rule (PATTERN must match the class or instance name).
.TP
.BI remove_rule " UID ..."
.BI adopt_orphans
Manage all the unmanaged windows remaining from a previous session.
.TP
-.BI reload_autostart
-Reload the autostart file.
-.TP
-.BI reload_settings
-Reload the default settings.
-.TP
.BI restore " FILE_PATH"
Restore the layout of each desktop from the content of FILE_PATH.
.TP
.IR "true " "or " false .
.TP
.I focused_border_color
-Color of the main border of a focused window of a focused monitor.
+Color of the border of a focused window of a focused monitor.
.TP
.I active_border_color
-Color of the main border of a focused window of an unfocused monitor.
+Color of the border of a focused window of an unfocused monitor.
.TP
.I normal_border_color
-Color of the main border of an unfocused window.
-.TP
-.I inner_border_color
-Color of the inner border of a window.
-.TP
-.I outer_border_color
-Color of the outer border of a window.
+Color of the border of an unfocused window.
.TP
.I presel_border_color
Color of the
message feedback.
.TP
.I focused_locked_border_color
-Color of the main border of a focused locked window of a focused monitor.
+Color of the border of a focused locked window of a focused monitor.
.TP
.I active_locked_border_color
-Color of the main border of a focused locked window of an unfocused monitor.
+Color of the border of a focused locked window of an unfocused monitor.
.TP
.I normal_locked_border_color
-Color of the main border of an unfocused locked window.
+Color of the border of an unfocused locked window.
.TP
.I urgent_border_color
Color of the border of an urgent window.
.TP
-.I inner_border_width
-.TQ
-.I main_border_width
-.TQ
-.I outer_border_width
-Width of the inner, main and outer borders.
+.I border_width
+Window border width.
.TP
.I window_gap
Value of the gap that separates windows.
Whether to remove gaps for tiled windows in monocle mode.
.TP
.I focus_follows_pointer
-Wether to focus the window under the pointer.
+Whether to focus the window under the pointer.
.TP
.I adaptative_raise
Prevent floating windows from being raised when they might cover other floating windows.
+.TP
+.I apply_shadow_property
+Enable shadows for floating windows via the
+.B _COMPTON_SHADOW
+property.
+.TP
+.I auto_alernate
+Whether to interpret two consecutive identical
+.B use
+messages as an
+.B alternate
+message.
+.SH ENVIRONMENT VARIABLES
+.TP
+.I BSPWM_SOCKET
+The path of the socket used for the communication between
+.BR bspc " and " bspwm .
.SH AUTHOR
.EX
Bastien Dejean <baskerville at lavabit.com>
.SH CONTRIBUTORS
.EX
Ivan Kanakarakis <ivan.kanak at gmail.com>
+Thomas Adam <thomas at xteddy.org>
.EE
.SH HOMEPAGE
.TP