]> git.lizzy.rs Git - bspwm.git/blobdiff - README.md
Clarify and expand the configuration documentation
[bspwm.git] / README.md
index c54ebd04cfd4ecddf11f51ceed0b9a8fbdb3e2f7..f2472ae6de33cb23beb44208014fba0f32aad04a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,24 +1,26 @@
 ![logo](https://github.com/baskerville/bspwm/raw/master/logo/bspwm-logo.png)
 
+## Synopsis
+
+    bspwm [-v|-s STATUS_FIFO]
+
+    bspc MESSAGE [ARGUMENTS] [OPTIONS]
+
 ## Description
 
-`bspwm` is a tiling window manager based on binary space partitioning.
+`bspwm` is a tiling window manager where each window is represented as the leaf of a binary tree.
 
-The windows are represented as the leaves of a 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.
 
-Those messages are sent via `bspc`.
-
-If the `BSPWM_SOCKET` environment variable is defined, it will be used as the socket path, otherwise `/tmp/bspwm-socket` is used.
+Its configuration file is `$XDG_CONFIG_HOME/bspwm/autostart`.
 
 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 [sxhkdrc](https://github.com/baskerville/dotfiles/blob/master/sxhkdrc).
+Example configuration files can be found in the `examples` directory.
 
 ## Splitting Modes
 
@@ -65,12 +67,6 @@ was sent beforehand:
         |            |            |         |            |            |
         +-------------------------+         +-------------------------+
 
-## Synopsis
-
-    bspwm [-v|-s STATUS_FIFO]
-
-    bspc MESSAGE [ARGUMENTS] [OPTIONS]
-
 ## Messages
 
 The syntax for the client is `bspc MESSAGE [ARGUMENTS ...]`.
@@ -115,7 +111,7 @@ The following messages are handled:
 
 - `circulate forward|backward` — Circulate the leaves in the given direction.
 
-- `grab_pointer move|resize|focus|move_tiled|resize_tiled` — Begin the specified pointer action.
+- `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.
 
@@ -167,17 +163,17 @@ The following messages are handled:
 
 - `cycle_layout` — Cycle the layout of the current desktop.
 
-- `rotate clockwise|counter_clockwise|full_cycle` — Rotate the tree of the current desktop.
+- `rotate clockwise|counter_clockwise|full_cycle` — Rotate the window tree.
 
-- `rule PATTERN [DESKTOP_NAME] [floating]` — Create a new rule (`PATTERN` must match the class or instance name).
+- `flip horizontal|vertical` — Flip the window tree.
 
-- `remove_rule UID ...` — Remove the rules with the given UIDs.
+- `balance` — Adjust the split ratios so that all windows occupy the same area.
 
-- `adopt_orphans` — Manage all the unmanaged windows remaining from a previous session.
+- `rule PATTERN [DESKTOP_NAME] [floating] [follow]` — Create a new rule (`PATTERN` must match the class or instance name).
 
-- `reload_autostart` — Reload the autostart file.
+- `remove_rule UID ...` — Remove the rules with the given UIDs.
 
-- `reload_settings` — Reload the default settings.
+- `adopt_orphans` — Manage all the unmanaged windows remaining from a previous session.
 
 - `restore FILE_PATH` — Restore the layout of each desktop from the content of `FILE_PATH`.
 
@@ -221,21 +217,22 @@ Colors are either [X color names](http://en.wikipedia.org/wiki/X11_color_names)
 
 - `apply_shadow_property` — Enable shadows for floating windows via the `_COMPTON_SHADOW` property.
 
-- `fence_grip` — If the distance to the nearest fence is greater than `fence_grip`, the `resize_tiled` action will not be engaged.
+## Environment Variables
+
+- `BSPWM_SOCKET` — The path of the socket used for the communication between `bspc` and `bspwm`.
 
 ## Key Features
 
-- Configured and controlled through messages
-- Multiple monitors support (via *Xinerama*)
-- EWMH support (`tint2` works)
-- Automatic and manual modes
+- Configured and controlled through messages.
+- Multiple monitors support (via *Xinerama*).
+- EWMH support (`tint2` works).
+- Automatic and manual modes.
 
-## Panel
+## Panels
 
-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.).
+- A custom panel if the `-s` flag is used (have a look at the files in `examples/panel`).
+- `dzen2` fed with the output of `ewmhstatus`. Example: [launchpanel](https://github.com/baskerville/bin/blob/master/launchpanel).
 
 ## Required Libraries:
 
@@ -252,6 +249,8 @@ Multiple choices:
 
 - [Ivan Kanakarakis](https://github.com/c00kiemon5ter)
 
+- [Thomas Adam](https://github.com/ThomasAdam)
+
 ## Mailing List
 
 bspwm *at* librelist *dot* com.