96 lines
3.6 KiB
Markdown
96 lines
3.6 KiB
Markdown
xoat
|
|
====
|
|
|
|
*X Obstinate Asymmetric Tiler*
|
|
|
|
* Designed for wide screens, including multi-head support.
|
|
* Static tiling! Just configure sizes of the three fixed tiles.
|
|
* Windows never move between tiles without user input.
|
|
* Basic EWMH to support panels and [simpleswitcher](https://github.com/seanpringle/simpleswitcher).
|
|
* A few keyboard controls for moving, focusing, cycling, closing, and finding windows.
|
|
* Transient windows and dialogs are centered on parent, not tiled.
|
|
* Splash screens and notification popups are displayed as requested, not tiled.
|
|
* Pointer warps appropriately when keyboard controls and EWMH affect focus.
|
|
* .xoatrc or config.h for customization.
|
|
|
|
### The Layout
|
|
|
|
* Tile proportions can be adjusted.
|
|
* Layout can be flipped horizontally.
|
|
* Xrandr rotated monitor also rotates the layout (always 90 degrees, right).
|
|
* Fullscreen (no borders, above panels) windows suported normally.
|
|
* Maximized windows (with borders and panels) supported in spot 1.
|
|
* Maximized-vertically windows supportted in spot 2.
|
|
* Maximized-horizontally windows supported in spot 3.
|
|
|
|
...
|
|
|
|
--------------------------------- ---------------------------------
|
|
| | | | | |
|
|
| | | | | |
|
|
| | 2 | | 2 | |
|
|
| 1 | | | | 1 |
|
|
| |---------| |---------| |
|
|
| | | | | |
|
|
| | 3 | | 3 | |
|
|
--------------------------------- ---------------------------------
|
|
|
|
--------------------- ---------------------
|
|
| | | | |
|
|
| | | 3 | 2 |
|
|
| | | | |
|
|
| 1 | |-------------------|
|
|
| | | |
|
|
| | | |
|
|
| | | |
|
|
| | | |
|
|
|-------------------| | 1 |
|
|
| | | | |
|
|
| 3 | 2 | | |
|
|
| | | | |
|
|
--------------------- ---------------------
|
|
|
|
### Philosophy
|
|
|
|
* Asymmetric tiling layouts are more useful than symmetric ones.
|
|
* A master/stack layout is fine but only if the stack is itself asymmetric.
|
|
* Static tiling is more practical than dynamic tiling or floating.
|
|
* Windows moving and resizing without user input is bad.
|
|
* Having a choice of tiling layouts at run time is distracting.
|
|
* Apps that remember their size can handily be placed back in the correct tile.
|
|
* Three tiles suffice because:
|
|
* App windows are always one of four types:
|
|
1. Large work-being-done apps
|
|
2. Medium monitoring-something apps
|
|
3. Small background-chat-music apps
|
|
4. Apps people should not use ;-)
|
|
* Want more tiles? Buy more monitors!
|
|
* Keyboard controls generally preferred over the mouse, when practical.
|
|
* Faster. Muscle memory.
|
|
* Click-to-focus model preferred over focus-follows-mouse.
|
|
* CtF is harder to get wrong in all cases.
|
|
* FfM means mentally keeping track of the mouse pointer.
|
|
* Avoiding the mouse entirely should just work, and not unexpectedly affect focus.
|
|
* 60:40 is a nice ratio.
|
|
|
|
### config.h
|
|
|
|
All customization happens in config.h or .xoatrc; see in-line comments. The former is tracked, so use a local git branch or a merge tool to protect any customization.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|