90 lines
3.2 KiB
Markdown
90 lines
3.2 KiB
Markdown
# GNOME Settings
|
|
|
|
|
|
This folder contains my GNOME settings
|
|
split into several `*.ini` files by logical group.
|
|
|
|
Machine-specific overrides may live in `local/*.ini` and are loaded last.
|
|
|
|
|
|
All paths inside the files are absolute,
|
|
anchored at the root of `dconf`.
|
|
Therefore, they must always be loaded anchored at the root as well:
|
|
|
|
```bash
|
|
dconf load / < <file>
|
|
```
|
|
|
|
|
|
[`restore-gnome`](../../.local/bin/restore-gnome) automates this upon every login
|
|
(via the `restore-gnome.service` systemd user unit).
|
|
|
|
Process:
|
|
1. Back up the current `dconf` state into ~/.local/state/gnome-settings-backups/
|
|
2. Reset all managed sub-trees,
|
|
so that keys removed from the `*.ini` files do not linger in the live state,
|
|
and
|
|
3. Load every `*.ini` here, then every `local/*.ini`.
|
|
|
|
|
|
[`verify-dconf`](../../.local/bin/verify-dconf) lists keys diverging
|
|
between the live state and the `*.ini` files,
|
|
and can be used to find live keys worth adopting.
|
|
|
|
|
|
|
|
## Color Palette
|
|
|
|
|
|
A teal ramp of 7 stops from light to dark,
|
|
plus two neutral tones for the shell chrome,
|
|
plus 5 accent hues with 2 shades each for the terminal ANSI colors.
|
|
|
|
All colors except the two neutrals can be verified
|
|
with [`derive-palette.py`](./derive-palette.py)
|
|
to be derived from GNOME's "teal" accent alone.
|
|
|
|
The ramp is uniform in perceived lightness (i.e., OKLCH),
|
|
with the accent centered by arithmetic:
|
|
In dark mode it reads light-to-dark (e.g., text on dark surfaces),
|
|
in light mode dark-to-light.
|
|
|
|
Translucent colors are always alpha-variants of a stop,
|
|
used for tile previews and tab decorations by `forge`.
|
|
|
|
|
|
| Stop | Hex | RGB | Role |
|
|
|------|-----------|--------------------|-----------------------------------------------|
|
|
| 1 | `#DDECF0` | rgb(221, 236, 240) | Foreground and text, focused borders |
|
|
| 2 | `#96D0DD` | rgb(150, 208, 221) | Quiet chrome: bar and unfocused windows |
|
|
| 3 | `#59B1C4` | rgb( 89, 177, 196) | Tile previews, borders of active elements |
|
|
| 4 | `#2190A4` | rgb( 33, 144, 164) | Accent |
|
|
| 5 | `#006E81` | rgb( 0, 110, 129) | Stacked/tabbed layouts, tab decorations |
|
|
| 6 | `#004D5C` | rgb( 0, 77, 92) | Dimmed and sub-menu backgrounds |
|
|
| 7 | `#002E37` | rgb( 0, 46, 55) | Dark base: terminal background |
|
|
| gray | `#2E2E32` | rgb( 46, 46, 50) | Surfaces: bar and menu backgrounds |
|
|
| base | `#000000` | rgb( 0, 0, 0) | Screensaver, shadows |
|
|
|
|
|
|
Stop 4 is GNOME's "teal",
|
|
one of nine built-in accent colors that cannot be changed
|
|
(see `--accent-teal` in `libadwaita`).
|
|
"gray" is the dark header-bar and sidebar background in `libadwaita`
|
|
(see `--headerbar-bg-color` and `--sidebar-bg-color`).
|
|
|
|
|
|
### Terminal Accents
|
|
|
|
|
|
Derived at the anchor's chroma,
|
|
with lightness solved for WCAG 4.5:1 against stop 7;
|
|
"bright" is the same hue lifted by 0.10 in lightness.
|
|
|
|
|
|
| Hue | Normal | Bright |
|
|
|---------|-----------|-----------|
|
|
| red | `#C87B75` | `#EA9A93` |
|
|
| yellow | `#A38F45` | `#C2AF64` |
|
|
| green | `#669D68` | `#84BC85` |
|
|
| blue | `#6D91CC` | `#8BB0ED` |
|
|
| magenta | `#B57DB0` | `#D69CD0` |
|