aboutsummaryrefslogtreecommitdiffstats
path: root/appearance/README.md
AgeCommit message (Collapse)AuthorFilesLines
12 hoursfeat(appearance): polish the Icons tab previews and applyDanilo M.1-7/+14
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.
12 hoursdocs(appearance): fix stale Theme tab phrase and align the tab diagramDanilo M.1-9/+9
The five-tab shell's paragraph still said theme opened "the other tab", and the widened top border left the body and bottom border 6 columns short. Widen lines 7-14 to match and name the Theme tab.
13 hoursdocs(appearance): document the Sunset, Idle and Icons tabsDanilo M.1-1/+27
Records the IPC verbs, the shared hyprsunset.conf format, the preserved hypridle comments, and the preview mechanisms. The hardcoded icon theme in udt, waybar and rofi is tracked as a TODO in those repos.
17 hoursrefactor(theme): read the palette from ~/.cache/udtDanilo M.1-1/+1
unified-desktop-theme moved its generated files out of ~/.cache/wal, which pywal used to own and nothing writes any more. The palette udt-accent generates is now at ~/.cache/udt/udt-palette.qml. shared/Theme.qml is the only code change; every component reaches it through a symlink. The module READMEs cite the path, so they move with it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
5 daysfix(appearance): rescan schemes and wallpapers on openDanilo M.1-0/+3
Both scans ran once at startup. This shell is autostarted, so that is once per session: a scheme or a wallpaper added afterwards never appeared, and restarting the shell was the only way to see it. Six schemes added during a session were invisible for exactly this reason. Opening the panel now refreshes both. Verified by adding a palette pair to a running shell and watching it appear, with its colours resolved, after the refresh. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G7NRsGyF9jGfPYS4zPqpN7
5 daysfeat(appearance): wallpaper picker and scheme switcherDanilo M.1-0/+95
One drawer for how the desktop looks, on SUPER+Return, replacing the qarma file dialog that key used to open. wallp is untouched and still does the work: the panel calls it with H= and V= and it still runs from a terminal. Clicking a thumbnail stages it rather than setting it, so both screens can be composed before anything changes and Apply is a single wallp call. The mock screens show the result: the staged pick where there is one, what is set where there is not, and the hovered thumbnail on the targeted screen. They are drawn at the real proportions from hyprctl monitors, DP-3 upright because it has transform=1, centred against each other as Hyprland has them. The scheme tab reads the palette pair unified-desktop-theme keeps for each scheme, so the swatches are that scheme's real colours and the list needs no edit when a scheme is added. Applying writes roles.conf and runs install.sh, and reloads nothing, because install.sh reloads nothing: the panel says what is still showing the old scheme rather than pretending the switch is done. Two QML traps are documented in AGENTS.md because neither announces itself: there is no String.matchAll, which threw inside a try and left every swatch empty, and assigning running = true to an already-running Process does nothing, which stopped the scheme loader after the first file. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G7NRsGyF9jGfPYS4zPqpN7