2 |-. ,-. ,-. . , , ,-,-.
10 - Windows are represented as the leaves of a binary tree.
11 - To each leaf corresponds exactly one window.
12 - The only nodes which can be focused are the leaves.
13 - The leaves are called *window nodes*.
14 - The other nodes are called *container nodes*.
15 - Only two methods of node insertion will be provided: *replace* and *pair*.
17 Example: insertion of a new node (number 4) into the given tree with the
27 +-------------------------+ +-------------------------+
31 | 3 |------------| --> | 4 |------------|
35 +-------------------------+ +-------------------------+
37 And with the *pair* method:
45 +-------------------------+ +-------------------------+
49 | 3 |------------| --> |------------|------------|
53 +-------------------------+ +-------------------------+
55 - Each container node is a split rectangle.
56 - The splitting method of a container node is either *automatic* or *manual*.
57 - In the *automatic* splitting mode, the split type is vertical if the width of
58 the rectangle of the node is greater that its height and horizontal
60 - Several tree transformations will be provided: directional leaf swap, node
61 pulling, rotation, contraction, dilatation...
65 - Directional focus movement (left, right, up, down).
66 - Tree transformations: swap the children of a container node, rotate the tree, expand (or contract): map x -> x^2 (or x -> x^½) to the node's split ratio.
67 - Move the focused node up in the tree (decrease its depth).
68 - Float individual windows (it means there will be a floating layer).
69 - Resize and move floating windows with the keyboard.
70 - Resize and move floating windows on a regular magnetic grid (the granularity of the grid might be related to GCD(screen\_width, screen\_height)).
71 - Double window borders. Rationale: with single borders, it might happen that the color of the window border is too close to the color of the window content to be visible.
72 - For floating windows, double borders will not be enough to always see the external borders: in order to solve the problem a custom X window property will be set, and a patch for `compton` will be provided (the third border will be the generated shadow).
73 - Change settings at runtime (fifo).
74 - Don't automatically give the focus to toolbar windows.
75 - 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.