NetBird sends its tray icon as a pixmap, so an icon theme can't
replace it. patch.py rewrites the 48x48 PNGs embedded in netbird-ui in
place: the glyph is scaled to 80% to get Breeze's padding and the
white variants take the panel text color (#dedede). A pacman hook
re-patches the binary after every netbird-ui upgrade, and restore.sh
puts the original back.
One Fastfetch package now serves both platforms. The logo is sent
inline through the kitty graphics protocol from a pre-encoded
albedo.kitty, which works in Ghostty and Kwi alike, so the separate
kitty-direct (mac) and Konsole (kde) variants are no longer needed.
Helium now takes its colors from Breeze GTK instead of a generated
theme extension, which reset the GTK theme on every launch.
- Import window_decorations.css from gtk.css so Helium, which doesn't
load kde-gtk-config's GTK module, draws the KWin title buttons
instead of Breeze GTK's round ones.
- Add chromium.css to give the compact layout's address bar and
button segment the title bar color, so the tab strip is one color.
- Disable WaylandWpColorManagerV1 so KWin doesn't lift Helium's dark
grays (40 -> 44) and the strip matches KDE title bars.
- Drop the Helium theme from build.py and the helium package.
- Annotate functions in fastfetch, spectacle and theme scripts
- Add Color and ColorFn type aliases in theme/build.py
- Annotate empty collections and silence optionxform assignment errors
Split the packages by platform so each app stays an opt-in Stow package
under common/, mac/ or kde/. KDE gets its own Fastfetch, Helium and
Spectacle packages, and darwin-breeze becomes kde/theme. The READMEs
document stowing a whole group as well as individual packages.
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>
Install the pnpm native binary from GitHub releases via gh-r and sbin,
matching the existing fnm/starship shim pattern. Node is now managed
by pnpm itself (pnpm runtime), so fnm and its init block are removed.
Drop unzip from the README optional list; only fnm's zip needed it.
Extract window highlighting into a dedicated module and centralize shared
configuration. Add a configurable app name toast triggered by focus changes
and Command key presses.
- use [[ ]] over [ ], quote vars, shallow clone in zinit.zsh
- typeset -A instead of declare -A
- nullglob (N) and path array idiom in bin.zsh/default.zsh