Those messages are sent through the `bspc` program.
-If the `BSPWM_SOCKET` environment variable is defined it will be used as the socket path, otherwise `/tmp/bspwm-socket` is used.
+If the `BSPWM_SOCKET` environment variable is defined, it will be used as the socket path, otherwise `/tmp/bspwm-socket` is used.
-The recommended way of defining keyboard shortcuts, is to use `xbindkeys`.
+The recommended way of defining keyboard shortcuts is to use `xbindkeys`.
-The only way to configure `bspwm` is by sending *set* messages through the client, hence `bspwm`'s configuration file is an executable called `autostart` which lives in `$XDG_CONFIG_HOME/bspwm/`.
+The only way to configure `bspwm` is by sending *set* messages via the client, hence `bspwm`'s configuration file is an executable called `autostart` which lives in `$XDG_CONFIG_HOME/bspwm/`.
Example configurations: [autostart](https://github.com/baskerville/bin/blob/master/bspwm_autostart) and [xbindkeysrc](https://github.com/baskerville/dotfiles/blob/master/xbindkeysrc).
dump
Output the internal representation of the window tree.
- list
- Perform a dump of each desktop.
+ list_monitors [--quiet]
+ Perform a dump of each monitor.
+
+ list [--quiet]
+ Perform a dump of each desktop for the current monitor.
windows
Return the list of managed windows (i.e. their identifiers).
pull DIR
Pull the fence located in the given direction.
+ nearest older|newer [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]
+ Focus the nearest leaf matching the given constraints.
+
cycle CYC [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]
Focus the next or previous window in the list of leaves.
magnetise COR
Move all the fences toward the given corner.
+ send_to_monitor MONITOR_NAME
+ Send the focused window to the given monitor.
+
send_to DESKTOP_NAME
Send the focused window to the given desktop.
+ use_monitor MONITOR_NAME
+ Select the given monitor.
+
use DESKTOP_NAME
Select the given desktop.
-
+
alternate
+ Alternate between the current and the last focused window.
+
+ alternate_desktop
Alternate between the current and the last focused desktop.
- add DESKTOP_NAME
- Make a new desktop with the given name.
+ alternate_monitor
+ Alternate between the current and the last focused monitor.
+
+ add_in MONITOR_NAME DESKTOP_NAME ...
+ Make new desktops with the given names in the given monitor.
+
+ add DESKTOP_NAME ...
+ Make new desktops with the given names.
+
+ 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.
- cycle_desktop CYC
+ cycle_monitor CYC
+ Select the next or previous monitor.
+
+ cycle_desktop CYC [--skip-free|--skip-occupied]
Select the next or previous desktop.
layout LYT
Set the layout of the current desktop to LYT.
+ cycle_layout
+ Cycle the layout of the current desktop.
+
toggle_fullscreen
Toggle the fullscreen state of the current window.
Toggle the locked state of the current window (locked windows will not respond to the 'close' command).
rule PATTERN floating
- Make a new rule that will floats the windows whose class name or instance name matches PATTERN.
+ Make a new rule that will float the windows whose class name or instance name equals PATTERN.
reload_autostart
Reload the autostart file.
Colors are either [X color names](http://en.wikipedia.org/wiki/X11_color_names) or '#RRGGBB', booleans are 'true' or 'false'.
+ focused_border_color
+ Color of the main border of a focused window of a focused monitor.
+
active_border_color
- Color of the main border of a focused window.
+ Color of the main border of a focused window of an unfocused monitor.
normal_border_color
Color of the main border of an unfocused window.
presel_border_color
Color of the *presel* message feedback.
+ focused_locked_border_color
+ Color of the main border of a focused locked window of a focused monitor.
+
active_locked_border_color
- Color of the main border of a focused locked window.
+ Color of the main border of a focused locked window of an unfocused monitor.
normal_locked_border_color
Color of the main border of an unfocused locked window.
wm_name
The value that shall be used for the _NET_WM_NAME property of the root window.
+ button_modifier
+ The modifier mask used for mouse bindings (possible values: 'mod1' ... 'mod5').
+
borderless_monocle
Whether to remove borders for tiled windows in monocle mode.
+ focus_follows_mouse
+ Wether to focus the window under the mouse pointer.
+
## Mouse Bindings
- M4 + Left Button
+ button_modifier + left mouse button
Move the window under the pointer.
- M4 + Middle Button
+ button_modifier + middle mouse button
Focus the window under the pointer.
- M4 + Middle Button
+ button_modifier + right mouse button
Resize the window under the pointer (by moving one of its four corners).
-Where *M4* is the fourth modifier mask (generally bound to *Super*).
+## Panel
+
+`dzen2` fed with the output of `ewmhstatus`. Example: [launchpanel](https://github.com/baskerville/bin/blob/master/launchpanel).
## Required Libraries:
-libxcb, xcb-util-wm.
+libxcb, xcb-util, xcb-util-wm.
## Installation