aboutsummaryrefslogtreecommitdiffstats
path: root/appearance/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-16 13:46:37 +0200
committerDanilo M. <danix@danix.xyz>2026-09-16 13:46:37 +0200
commit516e44c6c87825bfc985cbe6a1e73fce3fa7762a (patch)
treeeca6909bf1897c7701d0ba2b99200b91c499f9fe /appearance/README.md
parent4d63b1d50a593ea2a2475d79bf17d67240eff969 (diff)
downloadquickshell-516e44c6c87825bfc985cbe6a1e73fce3fa7762a.tar.gz
quickshell-516e44c6c87825bfc985cbe6a1e73fce3fa7762a.zip
feat(appearance): polish the Icons tab previews and apply
Cursor previews were extracted only on hover, so the row stayed blank until each card was visited. They are now batched on open: one python pass extracts four shapes per theme (arrow, hand, text, horizontal resize) through the theme's aliases and every storage form it may use (hyprcursor .hlc, a shape directory SVG, or a legacy Xcursor binary via xcur2png). The card rows are Flows so they wrap instead of running off the right edge, and the tab scrolls. Cards widened and names wrap to two lines. A size selector (16-64) applies the pointer size live, to gsettings, the GTK settings.ini files and environment.lua. gsettings alone does not reliably switch icon/cursor here: both gtk-3.0 and gtk-4.0 settings.ini carry the names, so apply now rewrites gtk-icon-theme-name / gtk-cursor-theme-name / gtk-cursor-theme-size there too. The symlinked `default` cursor alias is skipped in the scan and the current value resolved through it, so the real theme carries the current marker. The tab row is centred against the panel so it reads as drawer chrome rather than the first line of a tab's content.
Diffstat (limited to 'appearance/README.md')
-rw-r--r--appearance/README.md21
1 files changed, 14 insertions, 7 deletions
diff --git a/appearance/README.md b/appearance/README.md
index 9e1a41c..85fe5d7 100644
--- a/appearance/README.md
+++ b/appearance/README.md
@@ -44,13 +44,20 @@ written commented out. Save restarts `hypridle`, which resets its timers.
## Icons
-Switches the icon and cursor theme. Icon previews come from a GTK lookup per
-theme; cursor previews extract `left_ptr` from a hyprcursor `.hlc` with
-`unzip` or from an Xcursor theme with `xcur2png`, and hovering changes the real
-cursor. Applying writes `gsettings`, the Qt configs, and for cursors
-`environment.lua`; apps and a relogin are needed to see the rest. The theme
-name is still hardcoded in `unified-desktop-theme`, `waybar-theme-udt` and
-rofi, which is tracked as a follow-up in those repos.
+Switches the icon and cursor theme, and the pointer size. Icon previews come
+from a GTK lookup per theme. Cursor previews come from one python pass per
+open: for every theme it extracts four shapes (arrow, hand, text, horizontal
+resize) out of a hyprcursor `.hlc`, a shape directory's SVG, or a legacy
+Xcursor binary via `xcur2png`, so a card shows the cases that tell themes
+apart. Hovering a card changes the real cursor and reverts it on leave.
+
+Applying writes `gsettings` (which GTK3 and GTK4 both read), the Qt configs
+(`qt6ct`/`qt5ct`), and, for cursors, `environment.lua`. The GTK theme names do
+not come from `gsettings` alone here, so the drawer also rewrites
+`gtk-3.0/settings.ini` and `gtk-4.0/settings.ini` to match. Apps and a relogin
+are needed to see the rest. The theme name is still hardcoded in
+`unified-desktop-theme`, `waybar-theme-udt` and rofi, which is tracked as a
+follow-up in those repos.
## Wallpapers