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
|
# Waybar
The bar is [waybar-theme-udt](../../../waybar-theme-udt), which lives in its
own repository and its own config directory, `~/.config/waybar-udt/`. This
project supplies only its colours.
`theme.css` is generated here, but `install.sh` does not copy it there itself:
it calls the bar's own `install.sh`, with `UDT_PALETTE_DONE=1` so that script
skips regenerating the palette it has just been handed.
That is because the palette reaches the bar as **three** generated files, not
one: `styles/theme.css`, `dots.colors` for the two dot scripts, which are bash
and cannot read `@define-color`, and two tints of the Slackware mark, which
has to contrast with the accent pill at rest and the dark pill on hover.
Copying only the stylesheet recoloured every pill and left the dots and the
mark on the previous scheme's colours. Generating them here instead would mean
two writers for the same files, drifting apart the moment either is edited.
The call is never fatal: a failure in the bar's install warns and leaves the
bar on its old colours rather than stopping kitty, Kvantum and Sublime from
being themed. Same reasoning as `udt-appthemes`.
## What the bar asks for
Seven names, and nothing else:
@accent @main-bg @main-fg @hover-bg @hover-fg @outline @critical
plus `@warning`, and the Catppuccin-named compat rows, which the bar's dot
scripts read indirectly: `waybar-theme-udt/install.sh` parses `green`, `teal`,
`mauve`, `overlay0`, `warning` and `critical` back out of the generated file to
write a shell fragment, because those scripts are bash and cannot read
`@define-color`.
**There are no per-module colours.** The stock bar alternated module
backgrounds so it read as stripes, and carried a role per module to do it:
`workspaces`, `temperature`, `memory`, `cpu`, `time`, `date`, `tray`, `volume`,
`backlight`, `battery`, plus `charging`. The current bar draws every pill on
`@main-bg`, so all eleven had no consumer left and were removed from every
`roles-*.conf` and from `gen_waybar`. Re-adding one means a stylesheet that
actually references it.
## The stock config is gone
`~/.config/waybar/` was the stock bar, which nothing launched once hyprland's
autostart switched to the new one. It has been deleted. `install.sh` never
wrote a theme into it: its stylesheets referenced the per-module names above,
which this generator no longer emits.
## Reloading
`killall -SIGUSR2 waybar` applies a CSS change, and the bar sets
`reload_style_on_change`, so rewriting `theme.css` reaches it on its own. A
change to `config.jsonc` needs a restart rather than a signal.
|