aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/git
AgeCommit message (Collapse)AuthorFilesLines
7 dayssettings: the sidebar is groupedDanilo M.1-0/+1
Ten pages in one flat list had stopped reading as a list. A module now names its group, and the sidebar sorts by it and draws a small heading where it changes: Account (user, git), Appearance (wallpaper, theme, icons), Desktop (HyprSunset, HyprIdle, autostart) and Assistant (the daemon, Ask presets). Groups keep the order their first page is declared in, so shell.qml's module order still decides. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 daysdesktop: settings search finds rows, and a hit reveals its rowDanilo M.2-5/+15
Search used to stop at the page: clicking a result opened it at the top and left the setting to be found by eye. Now each settings module keeps its rows as searchItems, {text, key}, reread on every window open since the page itself is not loaded until shown: git runs gitcfg list, and autostart watches its file. A row hit opens the page, and Page.reveal() finds the row whose objectName is the key, waiting up to 3s for the page's own data, scrolls to it and flashes it in the accent. The reveal lives in Page, so a page only names its rows. Git's long keyword list was a stand-in for exactly this and is cut to "gitconfig". The autostart page takes its path from the module now that both read the file. Also corrects the AGENTS note on missed hot reloads: it blamed sed -i replacing the file, but the Edit tool writes a new inode too and usually reloads. The cause is unknown; the note now says how to detect it and that a process that stops watching needs a restart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 daysdesktop: settings search, and an About landing pageDanilo M.1-0/+5
The landing page's tiles repeated the sidebar. It now says what the shell is and where things live, which is what a landing page is for. The sidebar gains a search. A page is a Component loaded only when opened, so its contents cannot be indexed without loading every page; instead a module lists keywords for the settings buried in its page, and the search matches those and the label. An entry matched by a keyword shows which one, Enter opens the first match, Escape clears and then steps out as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 daysdesktop: git config moves to the settings windowDanilo M.2-6/+5
The global git config is set once and left alone, which is what the settings window is for. The user row and its page stay in the drawer; "More git settings" there now closes the drawer and opens git in the window: Drawer.show hands any settings module to the window, so every deep link, IPC included, lands in the right place. Git was the only user of Module.up, the page back() returned to, so up goes with it and back from a drawer page is always the grid. Also gives autostart its rocket glyph, which the first commit wrote as an empty string. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 daysfeat(git): add keys per section with a + beside each headingDanilo M.2-102/+131
The single Add line at the bottom took a full section.key and left the user to type the section right. Each heading now carries a + that opens a key and value row under it; git config --add writes the key into that existing section, among its neighbours, rather than at the end of the file. The typed text lives on the page, not in the fields, so a failed add keeps it across the reload that rebuilds every row. A new section is made in the editor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 daysfix(git): refuse duplicate values, show list errors, Escape on AddDanilo M.4-9/+71
Review findings. With a key holding the same value twice, --fixed-value --replace-all rewrote both and merged two rows into one, and --unset failed on both; gitcfg now counts the matches and refuses anything but exactly one, pointing at the editor. A file git cannot parse made list print nothing, which the page drew as an empty config; list now prints git's error as an error= line and the page shows it. Escape in the Add fields clears the typed text before it leaves the page, as a row's edit is undone first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 daysdocs(git): the git config page, and replace-all appending on no matchDanilo M.1-0/+22
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 daysfeat(git): the global git config pageDanilo M.2-0/+287
Every global value as a row under its section, in file order: Enter saves, Escape undoes, Remove drops that one value, and an Add row takes section.key and a value. Each write goes through gitcfg and is followed by a fresh list, so a row shows what git holds; a failure shows git's reason under its row. "Edit in editor" opens ~/.gitconfig in Sublime Text. No tile: up is "user", so back returns to the user page it opens from. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
7 daysfeat(git): parse git config -z --list for the pageDanilo M.2-0/+63
NUL between entries and the first newline between name and value, so values holding = or newlines survive. The key is after the last dot, so color.branch.remote groups under color.branch. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
7 daysfeat(git): gitcfg, global git config through git itselfDanilo M.2-0/+133
list, set, add and unset over git config --global. --fixed-value lets a write touch one value of a multi-valued key. set and unset check the old value is still there first: --replace-all with no match appends and exits 0, and the file may have changed in an editor since the page read it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>