The default configuration file is `$XDG_CONFIG_HOME/bspwm/bspwmrc`: this is simply a shell script that calls *bspc*.
+An argument is passed to that script to indicate whether is was executed after a restart (`$1 -gt 0`) or not (`$1 -eq 0`).
+
Keyboard and pointer bindings are defined with [sxhkd](https://github.com/baskerville/sxhkd).
Example configuration files can be found in the [examples](examples) directory.
Each leaf node holds exactly one window.
-## Insertion Modes
-
-### Prelude
+## Insertion modes
When *bspwm* receives a new window, it inserts it into a window tree at the specified insertion point (a leaf) using the insertion mode specified for that insertion point.
By default the insertion point is the focused window and its insertion mode is *automatic*.
-### Manual Mode
+### Manual mode
The user can specify a region in the insertion point where the next new window should appear by sending a *node -p|--presel-dir DIR* message to *bspwm*.
The ratio of the preselection (that ends up being the ratio of the split of the new internal node) can be changed with the *node -o|--presel-ratio* message.
-### Automatic Mode
+### Automatic mode
The *automatic* mode, as opposed to the *manual* mode, doesn't require any user choice. The way the new window is inserted is determined by the value of the automatic scheme and the initial polarity settings.
-#### Longest side
+#### Longest side scheme
-When the value of the automatic scheme is `longest_side`, the window will be attached as if the insertion point was in manual mode and the split direction was choosen based on the dimensions of the tiling rectangle and the initial polarity.
+When the value of the automatic scheme is `longest_side`, the window will be attached as if the insertion point was in manual mode and the split direction was chosen based on the dimensions of the tiling rectangle and the initial polarity.
Let's consider the following scenario, where the initial polarity is set to `second_child`:
This leads to *Y* where we insert window *3*. *2* is tall and is therefore split horizontally. *3* is once again added as *b*'s second child.
-#### Spiral
+#### Alternate scheme
+
+When the value of the automatic scheme is `alternate`, the window will be attached as if the insertion point was in manual mode and the split direction was chosen based on the split type of the insertion point's parent and the initial polarity. If the parent is split horizontally, the insertion point will be split vertically and vice versa.
+
+#### Spiral scheme
When the value of the automatic scheme is `spiral`, the window will *take the space* of the insertion point.
- The RandR and Xinerama protocols.
- A subset of the EWMH and ICCCM standards.
+
+## Community
+
+Want to get in touch with other *bspwm* users or you need help? Join us on our:
+
+- Subreddit at [r/bspwm](https://www.reddit.com/r/bspwm/).
+- IRC channel at `#bspwm` on `irc.libera.chat` (maintained by [@dannycolin](https://github.com/dannycolin) / sdk on IRC).
+- Matrix room at https://matrix.to/#/#bspwm:matrix.org