feat(darwin-breeze): unify theme colors across KDE, Helium, T3 Code and Ghostty
Move the Darwin Breeze Dark color scheme and global theme into a stow package. build.py generates the Helium, T3 Code and Ghostty themes from DarwinBreezeDark.colors, and apply.sh rebuilds and applies them, so the colors are edited in one place. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d215693df4
commit
75b1383edf
14 files changed
+798
-1
No files matched your search
@@ -0,0 +1,79 @@
|
||||
# Darwin Breeze
|
||||
|
||||
Breeze for KDE Plasma 6 in the macOS dark system colors, with Helium, T3 Code
|
||||
and Ghostty themed from the same colors.
|
||||
|
||||
Only the colors change. Breeze still draws the widgets and the title bar, and
|
||||
the window buttons stay on the right.
|
||||
|
||||
- Selection and focus rings use the macOS blue, `#007AFF`.
|
||||
- The title bar has the same color as the toolbar below it, so the two read as
|
||||
one strip.
|
||||
- When a window loses focus, its selection turns gray, as on macOS.
|
||||
- Errors, warnings, success text and links use Apple's system red, orange,
|
||||
green, blue and purple.
|
||||
|
||||
## Install
|
||||
|
||||
From `~/.dotfiles`:
|
||||
|
||||
```sh
|
||||
stow darwin-breeze helium
|
||||
./darwin-breeze/apply.sh
|
||||
```
|
||||
|
||||
`apply.sh` regenerates the app themes, applies the global theme, hides the
|
||||
line under the title bar, turns off the wallpaper accent color and publishes
|
||||
the T3 Code theme. Restart Helium afterwards; T3 Code switches on its own.
|
||||
|
||||
## Changing colors
|
||||
|
||||
The color scheme is the only place colors are defined:
|
||||
|
||||
```
|
||||
.local/share/color-schemes/DarwinBreezeDark.colors
|
||||
```
|
||||
|
||||
Edit it, then run `./darwin-breeze/apply.sh` again. Everything else follows:
|
||||
|
||||
| App | How it gets the colors |
|
||||
| --- | --- |
|
||||
| Qt / KDE apps | the color scheme itself |
|
||||
| GTK apps | Breeze GTK, which `kde-gtk-config` syncs from the scheme |
|
||||
| Tray icons in `tray-icons/` | `ColorScheme-Text`, recolored by Plasma |
|
||||
| Helium | `.local/share/helium-themes/`, generated by `build.py` |
|
||||
| T3 Code | `t3/darwin-breeze.json`, generated by `build.py` and published with `t3 theme set` |
|
||||
| Ghostty | `.config/ghostty/themes/`, generated by `build.py` |
|
||||
|
||||
The generated files are committed so that `stow` alone gives a working setup;
|
||||
don't edit them by hand.
|
||||
|
||||
## T3 Code notes
|
||||
|
||||
- T3 Code ignores symlinked theme files, so the theme isn't stowed;
|
||||
`apply.sh` publishes a copy into `~/.t3/userdata/themes/`.
|
||||
- Every slot of the T3 theme maps to a role in the color scheme (see `t3()` in
|
||||
`build.py`), so a new slot or a different mapping is a change there, not a
|
||||
hand-edited color.
|
||||
|
||||
## Helium notes
|
||||
|
||||
- Helium loads the theme from `~/.local/share/helium-themes/darwinbreeze`
|
||||
through `--load-extension` in `helium/.config/helium-browser-flags.conf`.
|
||||
- In Helium's compact layout the active tab and the toolbar segments on either
|
||||
side share one theme color, so the toolbar is the same color as the tab
|
||||
strip and inactive tabs are drawn lighter, as Dolphin does.
|
||||
- Chromium tags its output as sRGB and KWin shows it with a gamma 2.2 curve,
|
||||
which lifts dark grays (40 becomes 44). `build.py` writes pre-compensated
|
||||
values for Helium and T3 Code (both Chromium), so the theme files say 35
|
||||
where the screen shows 40.
|
||||
- Under Settings → Appearance the theme must be Classic, not GTK or QT.
|
||||
|
||||
## When the colors don't show up
|
||||
|
||||
- In System Settings → Colors, take the accent color from the color scheme. A
|
||||
custom accent, or one taken from the wallpaper, replaces the blue.
|
||||
- Use the Plasma style called "Breeze". "Breeze Dark" and "Breeze Light" carry
|
||||
their own colors, so panels and popups ignore the scheme.
|
||||
- GTK apps follow the scheme only with the Breeze GTK theme. Flatpak apps also
|
||||
need `org.gtk.Gtk3theme.Breeze` installed.
|
||||
Reference in new issue
Block a user