diff options
Diffstat (limited to 'TODO-icons.md')
| -rw-r--r-- | TODO-icons.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/TODO-icons.md b/TODO-icons.md new file mode 100644 index 0000000..2b1b173 --- /dev/null +++ b/TODO-icons.md @@ -0,0 +1,44 @@ +# Unhardcode the icon and cursor themes + +The appearance drawer's Icons tab (`quickshell/appearance/Icons.qml`) owns the +active icon and cursor theme and the cursor size. It sets them through +gsettings (`org.gnome.desktop.interface` icon-theme / cursor-theme / +cursor-size), the Qt configs (`qt5ct.conf`, `qt6ct.conf`: `icon_theme=`), +`gtk-3.0/settings.ini` and `gtk-4.0/settings.ini` (`gtk-icon-theme-name`, +`gtk-cursor-theme-name`, `gtk-cursor-theme-size`) and `environment.lua` +(`{X,HYPR}CURSOR_THEME`, `{X,HYPR}CURSOR_SIZE`). Every write is an in-place +rewrite of an existing line; no file is written whole. + +## Done + +`templates/gtk/index.theme.in` was the one real conflict: it is generated and +installed whole-file into `~/.themes/udt/index.theme`, which the drawer never +touches, so its `IconTheme=` and `CursorTheme=` went stale on a drawer switch. +Both keys are dropped. gsettings wins over a metatheme hint on Wayland, so the +drawer's value now simply stands. + +## Not a conflict + +`templates/qt-gtk/{gtk3-settings.ini,qt5ct.conf,qt6ct.conf}` are reference +copies that nothing installs: no `install.sh` reference and `git log -S` finds +none ever existed. `install.sh` only seds `gtk-theme-name` into the live +`gtk-3.0/settings.ini`, never an icon or cursor key. Each file now says so at +the top. + +## Consumers: now wired to gsettings + +These *consumed* an icon theme to resolve icon paths rather than setting the +system theme, so a drawer switch left them pointing at the old theme's icons +until edited by hand. All three now follow the drawer: + +- waybar-theme-udt: `bin/wb-icon` reads the gsettings key and resolves names + through GTK icon lookup; `install.sh` bakes the results into the generated + `modules.css` and `taskbar.jsonc`. Re-run its `install.sh` and restart waybar + after a switch. See that repo's `TODO-icons.md`. +- `~/.config/rofi/config.rasi` — `icon-theme:` commented out, so rofi uses the + desktop theme. +- `~/.local/share/applications/firefox-clean.desktop` — absolute `Icon=` path + replaced with the bare name, which the desktop-entry spec resolves through + the active theme. + +`~/.config/hypr/hyprqt6engine.conf`'s `icon_theme` is commented out. |
