Add theme system: local themes, picker, static/dynamic mode
- blob_theme: apply local or shared themes, --dynamic recolors from the current wallpaper without changing it, --print saves the active theme's colors.toml (e.g. for a dynamic palette worth keeping) - themes/: drop-in colors.toml files that install.sh syncs into Omarchy's theme dir, alongside any already-installed themes - ThemePicker widget, walker menu, and Quick Settings tile mirroring the existing wallpaper picker, with color-swatch previews - blob_wallpaper no longer forces dynamic mode on every wallpaper change; it only recolors if you're already in dynamic mode - install.sh: fix a new-directory mkdir bug in backup_and_copy, and stop backing up wallpapers/themes (.bak dirs were showing up as fake entries in the picker) since both are pure git mirrors Claude-Session: https://claude.ai/code/session_011kf23kB9NsaczSYazZsWs6
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# Themes
|
||||
|
||||
Drop-in static color themes. Each subdirectory here becomes a theme
|
||||
selectable from `blob_theme`, the theme picker widget, and the walker
|
||||
menu, once `install.sh` copies it into `~/.config/omarchy/themes/`.
|
||||
|
||||
## Adding a theme
|
||||
|
||||
Create a directory named after the theme (lowercase, hyphens instead
|
||||
of spaces — e.g. `tokyo-night/`) containing a `colors.toml`:
|
||||
|
||||
```toml
|
||||
accent = "#7aa2f7"
|
||||
cursor = "#c0caf5"
|
||||
foreground = "#c0caf5"
|
||||
background = "#1a1b26"
|
||||
selection_foreground = "#1a1b26"
|
||||
selection_background = "#7aa2f7"
|
||||
|
||||
color0 = "#1a1b26"
|
||||
color1 = "#f7768e"
|
||||
color2 = "#9ece6a"
|
||||
color3 = "#e0af68"
|
||||
color4 = "#7aa2f7"
|
||||
color5 = "#bb9af7"
|
||||
color6 = "#7dcfff"
|
||||
color7 = "#c0caf5"
|
||||
color8 = "#414868"
|
||||
color9 = "#f7768e"
|
||||
color10 = "#9ece6a"
|
||||
color11 = "#e0af68"
|
||||
color12 = "#7aa2f7"
|
||||
color13 = "#bb9af7"
|
||||
color14 = "#7dcfff"
|
||||
color15 = "#c0caf5"
|
||||
```
|
||||
|
||||
All 22 keys are required — this is the same format Omarchy themes and
|
||||
`blob_wallpaper`'s pywal-generated `blob-dynamic` theme already use, so
|
||||
`omarchy-theme-set` and its app-config templates pick it up with no
|
||||
extra work.
|
||||
|
||||
### Saving a dynamic palette you like
|
||||
|
||||
If a wallpaper's pywal-generated colors are worth keeping permanently,
|
||||
dump the currently active theme's `colors.toml` straight into a new
|
||||
theme folder instead of typing it out by hand:
|
||||
|
||||
```bash
|
||||
mkdir -p themes/my-new-theme
|
||||
blob_theme --print > themes/my-new-theme/colors.toml
|
||||
```
|
||||
|
||||
Run `./install.sh` (add `--force` if the theme already exists on disk
|
||||
and you're updating it) to deploy new/changed theme folders.
|
||||
|
||||
Any theme already installed under `~/.config/omarchy/themes/` or
|
||||
bundled with Omarchy itself (`$OMARCHY_PATH/themes/`) shows up
|
||||
automatically too — this directory is just for ones you want tracked
|
||||
in dotfiles.
|
||||
Reference in New Issue
Block a user