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 [sxhkd](https://github.com/baskerville/sxhkd).
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).
+Example configurations: [autostart](https://github.com/baskerville/bin/blob/master/bspwm_autostart) and [sxhkdrc](https://github.com/baskerville/dotfiles/blob/master/sxhkdrc).
## Splitting Modes
| | | | | |
+-------------------------+ +-------------------------+
+## Synopsis
+
+ bspwm [-v|-s STATUS_FIFO]
+
+ bspc MESSAGE [ARGUMENTS] [OPTIONS]
+
## Messages
The syntax for the client is `bspc MESSAGE [ARGUMENTS ...]`.
list_windows
Return the list of managed windows (i.e. their identifiers).
- presel left|right|up|down
+ list_rules
+ Return the list of rules.
+
+ presel left|right|up|down [SPLIT_RATIO]
Switch to manual mode and select the splitting direction.
cancel
shift left|right|up|down
Exchange the current window with the given neighbor.
+ swap
+ Swap the focused window with the last focused window.
+
push left|right|up|down
Push the fence located in the given direction.
circulate forward|backward
Circulate the leaves in the given direction.
+ grab_pointer move|resize|focus
+ 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_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
+ send_to DESKTOP_NAME [--follow]
Send the focused window to the given desktop.
- send_to_monitor MONITOR_NAME
+ send_to_monitor MONITOR_NAME [--follow]
Send the focused window to the given monitor.
use DESKTOP_NAME
rule PATTERN [DESKTOP_NAME] [floating]
Create a new rule (PATTERN must match the class or instance name).
+ remove_rule UID ...
+ Remove the rules with the given UIDs.
+
adopt_orphans
Manage all the unmanaged windows remaining from a previous session.
reload_settings
Reload the default settings.
- reload
- Reload the autostart file and the default settings.
+ restore FILE_PATH
+ Restore the layout of each desktop from the content of FILE_PATH.
- quit
+ quit [EXIT_STATUS]
Quit.
## Settings
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: 'shift', 'control', 'lock', 'mod1' ... 'mod5').
-
- numlock_modifier
- The modifier holding Num_Lock (cf. xmodmap).
-
- capslock_modifier
- The modifier holding Lock.
-
borderless_monocle
Whether to remove borders for tiled windows in monocle mode.
gapless_monocle
Whether to remove gaps for tiled windows in monocle mode.
- focus_follows_mouse
- Wether to focus the window under the mouse pointer.
+ focus_follows_pointer
+ Wether to focus the window under the pointer.
adaptative_raise
Prevent floating windows from being raised when they might cover other floating windows.
-## Mouse Bindings
-
- button_modifier + left mouse button
- Move the window under the pointer.
-
- button_modifier + middle mouse button
- Focus the window under the pointer.
-
- button_modifier + right mouse button
- Resize the window under the pointer (by moving one of its four corners).
-
## Key Features
- Configured and controlled through messages
## Panel
-`dzen2` fed with the output of `ewmhstatus`. Example: [launchpanel](https://github.com/baskerville/bin/blob/master/launchpanel).
-
-Or any EWMH compliant panel.
+Multiple choices:
+- `dzen2` fed with the output of `ewmhstatus`. Example: [launchpanel](https://github.com/baskerville/bin/blob/master/launchpanel).
+- A custom panel if the `-s` flag is used (have a look at the files in `examples/`).
+- Any EWMH compliant panel (e.g. `tint2`, `bmpanel2`, etc.).
## Required Libraries:
## Contributors
- [Ivan Kanakarakis](https://github.com/c00kiemon5ter)
+
+## Mailing List
+
+bspwm *at* librelist *dot* com.