aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-15 17:24:02 +0200
committerDanilo M. <danix@danix.xyz>2026-09-15 17:24:02 +0200
commita595fc7ca575de9de87f1311f3113f6fd4c6c326 (patch)
treed359b86a3d7dcdeb219b2d84768879b0782e8f88 /README.md
parent7f52e94d2386858cb32c18d5a5982dbb966cb174 (diff)
downloadwaybar-theme-udt-a595fc7ca575de9de87f1311f3113f6fd4c6c326.tar.gz
waybar-theme-udt-a595fc7ca575de9de87f1311f3113f6fd4c6c326.zip
fix: give the launcher a mark for each state
The pill inverts on hover, so one mark could never work: filled dark it vanished on the dark hover background, filled light it would vanish on the accent pill at rest. Both halves of that shipped, one after the other. Removing the hover rule did not help either, because the GTK theme paints its own hover shade on the button node underneath. Declining to set a background does not leave the pill alone, it leaves that shade in charge. So the mark moves out of the image module and into CSS, where a background-image can be swapped per state: dark on the accent pill at rest, light on the dark pill hovered, with the hover background set explicitly rather than left to the theme. install.sh generates both tints from one source file, so they cannot drift apart in shape. That makes the launcher a custom module, since an image module's path is read once and CSS cannot reach inside it. Its format is a single space for the usual reason: an empty one draws no widget at all. install.sh also removes the file the old image module left behind. The prune only clears dangling symlinks, and that one was written as a real file, so nothing had been removing it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md16
1 files changed, 9 insertions, 7 deletions
diff --git a/README.md b/README.md
index 6abc653..b39aee2 100644
--- a/README.md
+++ b/README.md
@@ -44,8 +44,8 @@ single one covers everything:
| Mechanism | Used by | Why |
| --- | --- | --- |
| `icon-theme` config key | taskbar, tray | Native support, nothing else needed. |
-| `image` module | launcher, volume, microphone, language | Takes a path: either static, or from a script that resolves the current state. |
-| CSS `background-image` | workspaces, clock, mail, presentation mode | `format-icons` takes text, not paths. |
+| `image` module | volume, microphone, language | Takes a path from a script that resolves the current state. |
+| CSS `background-image` | workspaces, clock, mail, presentation mode, launcher | `format-icons` takes text, not paths, and CSS can swap the image per state. |
The consequence worth knowing: **the workspace icons live in
`styles/modules.css`, not in the module config.** Changing one means editing
@@ -67,11 +67,13 @@ with nothing to say why, so it fails while someone is watching instead.
gradient and are not recolourable. That is intended here: icons match the rest
of the desktop rather than the bar.
-The three icons this repo ships are the exception, because the icon theme has
-none of them. `icons/slackware.svg` (Simple Icons, CC0) is single-path
-monochrome, so `install.sh` tints it from the palette. It is filled with the
-bar's background colour rather than the accent, because it sits on the accent
-pill and the accent would render it invisible against itself.
+The icons this repo ships are the exception, because the icon theme has none
+of them. `icons/slackware.svg` (Simple Icons, CC0) is single-path monochrome,
+so `install.sh` tints it from the palette, **twice**: the launcher pill
+inverts on hover, so the mark has to invert with it, dark on the accent pill
+at rest and light on the dark pill hovered. One mark would be invisible in one
+of the two states, which is what shipped twice before this. Both tints are
+generated from one source file, so they cannot drift apart in shape.
`icons/flag-it.svg` and `icons/burger.svg` (Twemoji, CC-BY 4.0) keep their own
colours. The hamburger stands in for the English layout, which is what the