diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-16 10:00:11 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-16 10:00:11 +0200 |
| commit | 66989fc6cdd5358131d0707bccb314e0d3050d1b (patch) | |
| tree | 12ea0541cff67e5fb33e9a1ada9c6393ffaba520 /desktop/modules | |
| parent | 83a5dc24f6349ba99165dab850a83bf08b0f56c8 (diff) | |
| download | quickshell-66989fc6cdd5358131d0707bccb314e0d3050d1b.tar.gz quickshell-66989fc6cdd5358131d0707bccb314e0d3050d1b.zip | |
docs(user): the module's README and the busctl escaping note
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules')
| -rw-r--r-- | desktop/modules/user/README.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/desktop/modules/user/README.md b/desktop/modules/user/README.md new file mode 100644 index 0000000..7a09c07 --- /dev/null +++ b/desktop/modules/user/README.md @@ -0,0 +1,30 @@ +# user + +The drawer's greeting row (avatar, `Hello <login>`, real name) and the page +it opens, which edits the user's details where other programs read them. + +| Field | Written to | +| --- | --- | +| name | AccountsService `RealName` (which also rewrites the passwd GECOS that LibreOffice prefills from), `~/.config/emaildefaults` `FullName`, git `user.name` with the surname as an initial | +| email | AccountsService `Email`, emaildefaults `EmailAddress`, git `user.email` | +| avatar | AccountsService `IconFile`; the daemon copies the file in and SDDM shows it | +| language, location | AccountsService | +| signing key | git `user.signingkey`; None unsets it | + +`userctl` does all reading and writing; the page only calls it. Polkit lets a +user edit their own AccountsService entry without a prompt. A new detail is +one entry in `UserPage.qml`'s `fields` and one `case` in `userctl`. + +When AccountsService cannot be read, `userctl get` prints one `error=` +line instead of blank fields; the page shows it and disables Save. The +signing key list skips revoked, expired and non-signing keys, and every +write passes its value after `--`, so one starting with a dash is not +taken for an option. + +Checks: `./test-userctl.sh` (stubs every store) and +`node desktop/modules/user/test_user.js`. + +Not here: the password (`passwd` in a terminal; changing it also leaves the +login keyring on the old one), `~/.face.icon` (SDDM reads the +AccountsService icon), social links (nothing reads them). Values are read +when the page opens, not watched. |
