From f73b88072b7abad720923dd32bae6a1e98bf64d5 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 17 Oct 2026 11:37:12 +0200 Subject: settings: every page commits from the header 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 --- desktop/README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'desktop/README.md') diff --git a/desktop/README.md b/desktop/README.md index 1bd2b7e..5d327a5 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -45,8 +45,16 @@ is not bound to its value (a binding resets the cursor and eats a typed trailing space), and a Repeater's model is the set of row keys, assigned only when that set changes, never an array rebuilt from the draft, which would recreate the row being typed in on every keystroke and drop its -focus. Git, autostart's rows, HyprSunset, HyprIdle and User keep their own -buttons. +focus. + +Every page that commits does so from that header bar, whatever the verb: +Apply and Reset for a staged wallpaper or cursor theme, Save + Restart for +HyprSunset and HyprIdle, whose daemons reread only at start. HyprSunset and +HyprIdle count as changed when what Save would write differs from what was +read, and a window open does not reload them over unsaved edits. The User +page's draft lives in the page, so it is not marked in the sidebar and +leaving the page drops it. Git and autostart act a row at a time and the +theme applies on click, so they have no bar. The sidebar's edge drags to resize it, between 160 and 420px; the width is saved in the preferences file on release. -- cgit v1.2.3