aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/appearance/README.md
AgeCommit message (Collapse)AuthorFilesLines
27 hourstheme: stage a scheme and commit it from the headerDanilo M.1-0/+3
The Theme page applied a scheme on click, so a stray click reinstalled the whole theme, and it was the one settings page without the header's commit point. Clicking now stages the scheme (outlined yellow, "selected"), and Reset / Apply in the header drop or apply it, as the wallpaper page does. The applied notice and any failure moved into the SaveBar, and the sidebar marks the page dirty while a scheme is staged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 hourssettings: a Theme status page for unified-desktop-themeDanilo M.1-4/+15
Shows the live scheme, accent and both wallpapers, the scheme and wallpapers linking to their own pages, then every udt consumer in a software and a hardware list, each with a Re-apply button running `install.sh <name>`, and Re-apply all in the header. The list comes from `install.sh --list`, so a consumer added in unified-desktop-theme shows up here with no edit. One run at a time, and none during a scheme switch. QML's JS engine has no Object.fromEntries either: it threw a TypeError that only reached the log and left the page without its list. Noted in AGENTS.md beside String.matchAll. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 dayssettings: every page commits from the headerDanilo M.1-1/+2
The Mail, Assistant and Ask presets pages got a Save and Discard pair in the page header; the rest still had their own buttons wherever their page put them: User's Save at the bottom, Wallpaper's Apply and Reset beside the mock screens, Icons' Apply and Reset under the cursor cards, HyprSunset's and HyprIdle's Save + Restart in the page. They now all sit in the header SaveBar, which takes the page's own verbs (Apply and Reset, Save + Restart) and a busy state. HyprSunset and HyprIdle had no notion of an unsaved change, so their button was always live. They now count as changed when what save() would write differs from what was read, which enables Save only then, gives Discard (a reload) something to drop, and marks them in the sidebar; a window open no longer reloads them over unsaved edits. The staged cursor moved from IconsTab into the Icons singleton so the header and the sidebar can see it. Git and autostart act a row at a time, and a theme applies on click, so those have no bar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 dayswallpaper: the preview above the listDanilo M.1-1/+1
The mock screens took a third of the width beside the list, which left both cramped in the settings window. They now sit on top, sized to half the width and capped so the upright screen stays under 200px, with the notes and the actions beside them; the folder list takes the full width and the rest of the height below. The actions are a Flow, so they wrap instead of clipping in a narrow window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 dayssettings: HyprSunset and HyprIdle, named after what they configureDanilo M.1-2/+2
The labels and page titles only; the module names, and so the IPC verbs and search keys, stay sunset and idle. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 daysappearance moves into the settings windowDanilo M.1-0/+174
The appearance shell existed because a wallpaper picker needed more room than the 600px drawer, so it ran as its own process with a full-screen overlay. The settings window now gives it that room, and its five tabs become five settings pages in the desktop process: Wallpaper, Theme, Icons & cursor, Sunset and Idle. appearance/ is gone, and with it a process, a keepalive window and a layer blur rule. The files move to desktop/modules/appearance/ unchanged in what they do. Each tab gets a small *Module.qml; the window's refresh-on-open calls the singletons' refresh(), which the panel's show() used to. The two tabs that were inline Components in AppearancePanel become ThemeTab and WallpaperTab, owning the notices the panel printed. Sunset, Idle and Icons drop their own Flickable so the page scrolls them and search can reveal a row; the wallpaper list virtualises its rows and scrolls itself, so it takes the page's new viewHeight instead. Search finds a colour scheme and an icon or cursor theme by name. The appearance IPC target moves to desktop/shell.qml with the same verbs, so udt-steps and any keybind change only the path. Git now follows the appearance pages and autostart in the sidebar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>