1 ![logo](https://github.com/baskerville/bspwm/raw/master/resources/bspwm_logo.png)
5 - Windows are represented as the leaves of a binary tree.
6 - To each leaf corresponds exactly one window.
7 - The only nodes which can be focused are the leaves.
8 - The leaves are called *window nodes*.
9 - The other nodes are called *container nodes*.
10 - Each container node is a split rectangle.
11 - Only two methods of node insertion will be provided: *replace* and *pair*.
13 Example: insertion of a new node (number 4) into the given tree with the
23 +-------------------------+ +-------------------------+
27 | 3 |------------| --> | 4 |------------|
31 +-------------------------+ +-------------------------+
33 And with the *pair* method:
41 +-------------------------+ +-------------------------+
45 | 3 |------------| --> |------------|------------|
49 +-------------------------+ +-------------------------+
54 - Triple window borders. Rationale: with single borders, it might happen that the color of the window border is too close to the color of its inner or outer environment to be visible.
55 - Directional *pair* splitting preselection (the feedback will be drawn in the window border pixman).
56 - Set or get settings and call methods at runtime.
57 - Configuration file in Lua.
61 - Don't automatically give the focus to toolbar windows.
62 - When a fullscreen window looses the focus, its fullscreen state will be set to *false* if the window to be focused is in the same desktop.
63 - Close every window except the focused one.
64 - Tree transformations: directional leaf swap, node pulling, rotation...
65 - Rounded corners ? (cairo).