Merge branch 'master' into personal
This commit is contained in:
42
README.md
42
README.md
@@ -5,7 +5,7 @@ xoat
|
|||||||
|
|
||||||
* Designed for wide screens, including multi-head support.
|
* Designed for wide screens, including multi-head support.
|
||||||
* Static tiling; you get just three fixed tiles and windows never move automatically.
|
* Static tiling; you get just three fixed tiles and windows never move automatically.
|
||||||
* Bare minimum EWMH to support panels and [simpleswitcher](https://github.com/seanpringle/simpleswitcher)
|
* Bare minimum EWMH to support panels and [simpleswitcher](https://github.com/seanpringle/simpleswitcher).
|
||||||
* A few keyboard controls for moving, focusing, cycling, closing, and finding windows.
|
* A few keyboard controls for moving, focusing, cycling, closing, and finding windows.
|
||||||
* Transient windows and dialogs are centered on parent, not tiled.
|
* Transient windows and dialogs are centered on parent, not tiled.
|
||||||
* Splash screens and notification popups are displayed as requested, not tiled.
|
* Splash screens and notification popups are displayed as requested, not tiled.
|
||||||
@@ -13,15 +13,23 @@ xoat
|
|||||||
|
|
||||||
### The Layout
|
### The Layout
|
||||||
|
|
||||||
--------------------------------
|
--------------------------------- ---------------------
|
||||||
| | |
|
| | | | |
|
||||||
| | |
|
| | | | |
|
||||||
| | 2 |
|
| | 2 | | |
|
||||||
| 1 | |
|
| 1 | | | 1 |
|
||||||
| |---------|
|
| |---------| | |
|
||||||
| | |
|
| | | | |
|
||||||
| | 3 |
|
| | 3 | | |
|
||||||
--------------------------------
|
--------------------------------- | |
|
||||||
|
|-------------------|
|
||||||
|
| | |
|
||||||
|
| 3 | 2 |
|
||||||
|
| | |
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
* Layout can be flipped horizontally to place tile 1 on the right.
|
||||||
|
* Layout rotates along with Xrandr rotated monitors.
|
||||||
|
|
||||||
### Philosophy
|
### Philosophy
|
||||||
|
|
||||||
@@ -37,6 +45,7 @@ xoat
|
|||||||
2. Medium monitoring-something apps
|
2. Medium monitoring-something apps
|
||||||
3. Small background-chat-music apps
|
3. Small background-chat-music apps
|
||||||
4. Apps people should not use ;-)
|
4. Apps people should not use ;-)
|
||||||
|
* Want more tiles? Buy more monitors.
|
||||||
* Keyboard controls generally preferred over the mouse, when practical.
|
* Keyboard controls generally preferred over the mouse, when practical.
|
||||||
* Faster. Muscle memory.
|
* Faster. Muscle memory.
|
||||||
* Click-to-focus model preferred over focus-follows-mouse.
|
* Click-to-focus model preferred over focus-follows-mouse.
|
||||||
@@ -44,20 +53,9 @@ xoat
|
|||||||
* CtF is harder to get wrong and makes it easy to forget about the mouse for some tasks.
|
* CtF is harder to get wrong and makes it easy to forget about the mouse for some tasks.
|
||||||
* 2/3 is a nice fraction.
|
* 2/3 is a nice fraction.
|
||||||
|
|
||||||
### Stuff Removed
|
|
||||||
|
|
||||||
Some elements that proved to be the wrong direction for xoat have been removed.
|
|
||||||
|
|
||||||
* Tags have been replaced with the snapshot/rollback mechanism.
|
|
||||||
* Tags were a way to group and raise windows en-masse, but they were fiddly to use.
|
|
||||||
* Snapshot allows the freedom to mess windows up then quicky revert to a known state.
|
|
||||||
* Some EWMH desktop atoms have been dumped as surplus to requirements.
|
|
||||||
|
|
||||||
### config.h
|
### config.h
|
||||||
|
|
||||||
All customization happens in config.h. See in-line comments there.
|
All customization happens in config.h. See in-line comments there. It's tracked, so use a local git branch or a merge tool to protect any customization.
|
||||||
|
|
||||||
**Note**: config.h is tracked! Use a local git branch to protect any customization.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
1
config.h
1
config.h
@@ -5,6 +5,7 @@
|
|||||||
#define BORDER_FOCUS "Royal Blue"
|
#define BORDER_FOCUS "Royal Blue"
|
||||||
#define BORDER_URGENT "Red"
|
#define BORDER_URGENT "Red"
|
||||||
#define BORDER_ABOVE "Dark Green"
|
#define BORDER_ABOVE "Dark Green"
|
||||||
|
#define GAP 2
|
||||||
|
|
||||||
// Title bar xft font
|
// Title bar xft font
|
||||||
#define TITLE "sans:bold:size=10"
|
#define TITLE "sans:bold:size=10"
|
||||||
|
|||||||
14
setup.c
14
setup.c
@@ -116,9 +116,9 @@ void setup()
|
|||||||
m->spots[j].h = height_spot1;
|
m->spots[j].h = height_spot1;
|
||||||
if (j == SPOT1) continue;
|
if (j == SPOT1) continue;
|
||||||
|
|
||||||
m->spots[j].y = SPOT1_ALIGN == SPOT1_LEFT ? y + height_spot1: y;
|
m->spots[j].y = (SPOT1_ALIGN == SPOT1_LEFT ? y + height_spot1: y) + GAP;
|
||||||
m->spots[j].h = h - height_spot1;
|
m->spots[j].h = h - height_spot1 - GAP;
|
||||||
m->spots[j].w = w - width_spot2;
|
m->spots[j].w = w - width_spot2 - GAP;
|
||||||
if (j == SPOT3) continue;
|
if (j == SPOT3) continue;
|
||||||
|
|
||||||
m->spots[j].x = x + w - width_spot2;
|
m->spots[j].x = x + w - width_spot2;
|
||||||
@@ -136,13 +136,13 @@ void setup()
|
|||||||
m->spots[j].h = h;
|
m->spots[j].h = h;
|
||||||
if (j == SPOT1) continue;
|
if (j == SPOT1) continue;
|
||||||
|
|
||||||
m->spots[j].x = SPOT1_ALIGN == SPOT1_LEFT ? x + width_spot1: x;
|
m->spots[j].x = (SPOT1_ALIGN == SPOT1_LEFT ? x + width_spot1: x) + GAP;
|
||||||
m->spots[j].w = w - width_spot1;
|
m->spots[j].w = w - width_spot1 - GAP;
|
||||||
m->spots[j].h = height_spot2;
|
m->spots[j].h = height_spot2;
|
||||||
if (j == SPOT2) continue;
|
if (j == SPOT2) continue;
|
||||||
|
|
||||||
m->spots[j].y = y + height_spot2;
|
m->spots[j].y = y + height_spot2 + GAP;
|
||||||
m->spots[j].h = h - height_spot2;
|
m->spots[j].h = h - height_spot2 - GAP;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user