main
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01As1S7fpDqEDnZxcGbSSoUW
clockmost-desktop-theme
One command to re-skin the whole clockmost-linux desktop — and swap between
looks cleanly.
clockmost-theme list # themes + which is active
clockmost-theme current
clockmost-theme apply endfield # palette + shape + fonts + kitty, in one move
clockmost-theme revert # back to the state before the first apply
COSMIC stays the compositor; everything themeable on top of it is driven from here.
What a theme controls
themes/<name>/
├── theme.toml meta, required packages, the three font roles
├── noctalia-palette.json Material-3 palette → ~/.config/noctalia/palettes/<name>.json
├── noctalia.toml shape deltas merged into ~/.local/state/noctalia/settings.toml
├── cosmic.toml COSMIC shape: corner_radii / gaps / active_hint / frosted
└── kitty.conf kitty type + surface (colours come from Noctalia's template)
How apply flows
noctalia-palette.json ─→ ~/.config/noctalia/palettes/<name>.json
│ noctalia msg color-scheme-set custom <name>
▼
Noctalia bar + widgets + launcher Noctalia templates
│ └─→ GTK / Qt / KDE / kitty / btop
▼
noctalia-cosmic-theme bridge ─→ COSMIC *colours* (theme RON import)
noctalia.toml ──(merge, validate, commit)──→ settings.toml shape + font_family
cosmic.toml ──────────────────────────────→ CosmicTheme.{Dark,Light}{,.Builder}/v2/*
theme.toml fonts ──────────────────────────→ CosmicTk interface_font / monospace_font
kitty.conf ──(marked block)──────────────→ ~/.config/kitty/kitty.conf
Colour is one file (the palette). Shape, fonts and blur are per-surface because
cosmic-settings appearance import only carries colour.
Safety
- First
applysnapshots every file it will touch to~/.local/state/clockmost-theme/baseline/;revertrestores it. - The Noctalia merge runs on a copy, is
noctalia config validate-checked, and is only committed if valid. - Missing required packages are a warning, not a failure.
Gotchas baked in
- COSMIC
frostedis aBlurStrengthenum with noNone— useExtremelyLowand thefrosted_*: falseflags.frosted: Nonebreaks libcosmic theme parsing and crashes libcosmic apps. ~/.local/state/noctalia/settings.tomlis authoritative;~/.config/noctalia/ config.tomlis only a seed it overrides.- COSMIC interface font + some libcosmic apps need a re-login to fully repaint.
Later
Ship as pacman packages via the [clockmost] repo: clockmost-theme (this
tool) + clockmost-theme-<name> (theme data under /usr/share/clockmost-themes/ <name>/). Then pacman -S clockmost-theme-endfield && clockmost-theme apply endfield is the whole install.
Description
One command to re-skin a whole Linux desktop and switch between themes cleanly
2.6 MiB
0 Stars
1 Watchers
0 Forks
Languages
Python
56.3%
Shell
43.7%