Tiling Window Management
Tiling window management is the default workspace layout management scheme because of its efficiency in terms of screen utilization and inherently keyboard friendly nature. The main principle is that client windows should occupy the maxium amount of screen space. When a new window appears, the area the currently selected window is occupying gets split up and shared between the two based on a weight (covered in Resizing, below) and an insertion mode.
The insertion mode can either be horizontal where a new window becomes a sibling of the currently selected window, splitting into a new column- or vertical where a new window becomes an immediate child of the currently selected window.
The following three screenshots shows a window hiearchy with the new window (the dog/cat picture) being inserted in horizontal mode versus vertical mode.
The insertion mode can be switched via the global/workspace/layout/tile-horiz and tile-vert menu paths respectively.
When you grow or shrink a tile in tiled layout mode, the window size is not directly affected, but rather its “weight”. Initially, each new window is assigned the same horizontal and vertical weight (of 1.0 multiplied by the alloted size). This means that when more clients compete for the same space, the calculated assigned region is biased in favor of- or against- a window based on its assigned weight.
With the hierarchy that grows from a tiled layout, we need additional control opterations that are not needed in other layoting modes. Those are swap, merge and split.
With swap a single window has its position swapped with another in the desired direction (up, down, left, right). Any children or sibling gets reassigned so that they stay in the same position.
The following screenshot shows a window hierarchy before and after a swap-left operation:
With merge any siblings to the right of selected window are forced to become children of the window instead. The following screenshot shows a window hierarchy before and after a merge operation:
With split any children of the selected window are promoted to become siblings. The following screenshot shows a window hierarchy before and after a merge operation:
Some window managers treat tabbed modes as a sub-management mode of one tile, though here, we opt for treating an entire workspace as tabbed or not. Instead, there are explicit work-space modes for having all windows act as ‘tabs’ in a vertical or horizontal layout. These modes can be activated through the global/workspace/layout/tabbed and tabbed-vertical.
There is a built-in that can extend the tiling layout mode to automatically manage the insertion and parent/sibbling assignment automatic. This tool can be found in the global/tools/auto layouting/ and is described furthere in Autolayout.
- Allow tabbed- tiles based on connection hierarchy