1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# unified-desktop-theme
A single visual identity for a Hyprland desktop: Catppuccin Macchiato as the
fixed base, Noto Sans for UI text, Inconsolata Nerd Font Mono for monospace.
The accent color follows the current wallpaper, but is always snapped to a real
Macchiato accent, so it can never render as unreadable.
Phase 1 covers rofi. Later phases extend the same palette to waybar, dunst,
conky, hyprland and quickshell.
Quickshell reads the palette rather than restating it: `udt-accent` writes
`~/.cache/wal/udt-palette.qml` from `rofi/udt/palette.rasi`, and the
components in the `quickshell` repo watch that file, so editing the palette
here recolours them without a restart.
## Layout
rofi/udt/ the theme files
bin/udt-accent wallpaper accent extractor
Both are installed by symlink, so the repo holds the canonical copies:
./install.sh
## Design
See `docs/superpowers/specs/` for the design spec and the reasoning behind
each decision, including why accent extraction is deliberately isolated from
the pywal cache.
## License
GPLv2 only. See `LICENSE`.
## Changing the colour scheme
Edit one line in `~/.config/udt/roles.conf`:
scheme = macchiato
and run `./install.sh`. That file is yours, not the repo's: `install.sh`
creates it on a first run and never overwrites it, so switching scheme leaves
the working tree clean. Ships with `macchiato`, `tokyo-night`, `nord` and
`dracula`; rofi, dunst, conky, waybar, kitty, Firefox and quickshell all
follow.
A scheme is two files: `palette/<name>.conf` for the colours under the
scheme's own names, and `palette/roles-<name>.conf` saying what each is for.
Nothing else needs touching, and `bin/udt-palette --selftest` checks that a
scheme can satisfy every role before you switch to it.
## Development Approach
This project is developed using AI-assisted tools. Code is generated with the help of AI based on human-provided specifications, design decisions, and iterative feedback.
All contributions are reviewed, tested, and curated by the maintainer before being included in the codebase. AI is used as a productivity and exploration tool, while human oversight remains central to all decisions.
The goal is to combine the flexibility of AI-assisted development with standard open-source practices such as transparency, review, and accountability.
|