Files
.dotfiles/darwin-breeze/README.md
T
triandClaude Opus 5.5 75b1383edf 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>
2026-10-29 20:00:16 +07:00

3.1 KiB

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:

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.