Merge branch 'master' into personal

This commit is contained in:
seanpringle
2012-09-25 10:16:29 +10:00
3 changed files with 28 additions and 29 deletions

View File

@@ -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.

View File

@@ -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
View File

@@ -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;
} }
} }