Convert British spellings to American across the repo
colour -> color, behaviour -> behavior, centre -> center, favourite -> favorite, and about twenty other pairs, applied consistently across comments, docs, error/UI copy, and a handful of QML identifiers that used the British spelling as their actual name: SystemSettings' serialiseValue/serialiseTable/normaliseGradient, Displays' normaliseModes, Wallpaper's normalisePolicy, SettingsBackup's serialiseHomeState, DateTime's ntpSynchronised property, Clipboard's _normalise helper, and ShortcutCapture's cancelled signal (with its onCancelled handler in ShortcutsPage.qml). Every call site and the two tests that assert on the literal source text (settings-ownership and settings-backup-live contracts) were updated in lockstep. Left untouched: config/dot/espanso/match/packages/misspell-en/ is a vendored third-party autocorrect dictionary -- its entries are typo corrections, not our prose, and rewriting them would fight the package's own purpose (and any future re-sync from upstream). The already-American `favorites` property (Home page pinned accessories) was never actually misspelled -- only nearby comments and error strings said "favourites" -- so no data migration was needed there. Claude-Session: https://claude.ai/code/session_01E6TJUAh41HaP25MVHWkhRZ
This commit is contained in:
@@ -90,7 +90,7 @@
|
||||
- Produces: `ShellState.openOverview(workspaceId)`, filmstrip selection, large workspace preview, cross-workspace window search
|
||||
|
||||
- [x] Add requested-overview-workspace state without coupling `ShellState` to the focus service.
|
||||
- [x] Replace the centred equal-card row with a top filmstrip and a large selected-workspace preview.
|
||||
- [x] Replace the centered equal-card row with a top filmstrip and a large selected-workspace preview.
|
||||
- [x] Keep the trailing dynamic-workspace card and one-shot thumbnail capture behavior.
|
||||
- [x] Add wheel navigation over the strip and keep the overview mapped while switching workspaces.
|
||||
- [x] Add a keyboard-focused search field and filtered cross-workspace window results.
|
||||
|
||||
@@ -328,7 +328,7 @@ FileView {
|
||||
printErrors: false
|
||||
atomicWrites: true
|
||||
onSaved: root.saveError = ""
|
||||
onSaveFailed: error => root.saveError = "Could not save Home favourites."
|
||||
onSaveFailed: error => root.saveError = "Could not save Home favorites."
|
||||
JsonAdapter {
|
||||
id: values
|
||||
property bool initialized: false
|
||||
|
||||
@@ -15,10 +15,10 @@ holds the shipped defaults; one JSON file is the truth both sides read.
|
||||
- Verify every write by reading the value back (`hyprctl getoption`), never by
|
||||
trusting an exit code.
|
||||
- No UI-supplied string is interpolated into `eval`, a shell command, or a config
|
||||
value. Numbers range-checked, choices allow-listed, colours hex-validated.
|
||||
value. Numbers range-checked, choices allow-listed, colors hex-validated.
|
||||
- A missing or malformed `settings.json` degrades to shipped defaults. The Lua
|
||||
read is `pcall`-wrapped so it can never take down the compositor config.
|
||||
- Tokyo Night Moon and Prism stay the only identity; customisation adjusts its
|
||||
- Tokyo Night Moon and Prism stay the only identity; customization adjusts its
|
||||
parameters, it does not replace it.
|
||||
- Motion stays event-driven at every setting. No idle repaint.
|
||||
- Do not restart the running Quickshell process during development; it hot-reloads.
|
||||
@@ -30,7 +30,7 @@ holds the shipped defaults; one JSON file is the truth both sides read.
|
||||
## Stage 0 — Stop the lying (ship first, standalone)
|
||||
|
||||
The display-policy toggles report success while doing nothing. This is a
|
||||
correctness bug in shipped behaviour and does not depend on any of the
|
||||
correctness bug in shipped behavior and does not depend on any of the
|
||||
architecture below.
|
||||
|
||||
**Files:** Modify `config/dot/quickshell/services/SystemSettings.qml`;
|
||||
@@ -40,7 +40,7 @@ Test `tests/quickshell/settings-hyprland-write-contract.sh`
|
||||
asserts via `hyprctl getoption` that the compositor value actually changed —
|
||||
and that a rejected write leaves `lastError` non-empty.
|
||||
- [x] Run it; confirm it fails against the current `hyprctl keyword` implementation.
|
||||
- [x] Add a single `applyOptions(values)` boundary that serialises validated values
|
||||
- [x] Add a single `applyOptions(values)` boundary that serializes validated values
|
||||
into `hl.config{}` and runs them through `hyprctl eval`.
|
||||
- [x] Route `setAutoHdr`, `setVrrPolicy`, and `setDirectScanoutPolicy` through it.
|
||||
- [x] Treat "wrote it back and read it back equal" as the only success condition;
|
||||
@@ -134,9 +134,9 @@ Test `tests/hypr/prefs-fallback-contract.sh`
|
||||
- [x] Implement a dependency-free JSON reader exposing `prefs.get(key, fallback)`,
|
||||
`pcall`-wrapped, reading `$XDG_CONFIG_HOME/panama/settings.json`.
|
||||
- [x] Require it first in `hyprland.lua`, before `looks`.
|
||||
- [x] Convert the appearance and behaviour literals in `looks.lua` and `input.lua`
|
||||
- [x] Convert the appearance and behavior literals in `looks.lua` and `input.lua`
|
||||
to `prefs.get("<key>", <current literal>)`, keeping every current value as
|
||||
the fallback so shipped behaviour is byte-identical.
|
||||
the fallback so shipped behavior is byte-identical.
|
||||
- [x] Extend `PreferenceSchema.qml` with the Hyprland-owned keys, each carrying
|
||||
the `hl.config` path it maps to.
|
||||
- [x] Have `SystemSettings` derive its `eval` payload from that mapping, so a new
|
||||
@@ -208,7 +208,7 @@ Modify all eleven `*Page.qml`; Test `tests/quickshell/settings-rows-contract.sh`
|
||||
- [ ] Move the remaining pages (Home, Displays, Connectivity, Sound,
|
||||
Notifications, Screen Intelligence, Services, About) onto `SettingsPage`.
|
||||
|
||||
**Exit criteria:** no shipped behaviour value is reachable only by editing a file.
|
||||
**Exit criteria:** no shipped behavior value is reachable only by editing a file.
|
||||
|
||||
**Landed (first pass).** `SettingsPage` plus `ToggleRow`, `SliderRow`,
|
||||
`ChoiceRow`, `ActionRow`, and `TextRow`. A row names a schema key and needs
|
||||
@@ -218,7 +218,7 @@ explanation, bounds, and unit from the schema, and writes through
|
||||
apply-and-verify and local keys straight to the store. Rows never need to know
|
||||
which kind they hold.
|
||||
|
||||
`DesktopPreview` is the direction-B centrepiece: two tiled windows drawn at the
|
||||
`DesktopPreview` is the direction-B centerpiece: two tiled windows drawn at the
|
||||
settings actually in effect, scaled by the ratio between the preview's width and
|
||||
the real monitor's, so a 10px gap on a 4500px display looks as small as it is.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** Expand Panama Quick Settings into the approved Control Center with secure Home Assistant favourites and capability-aware iPhone continuity.
|
||||
**Goal:** Expand Panama Quick Settings into the approved Control Center with secure Home Assistant favorites and capability-aware iPhone continuity.
|
||||
|
||||
**Architecture:** Two executable Python helpers own the external boundaries: KDE Connect CLI/D-Bus and the Home Assistant REST API/credential lookup. Quickshell singletons normalize those JSON contracts for focused Home and Phone components inside the existing Quick Settings window; Ongoing and Signal Glass consume transfer lifecycle without duplicating state.
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
- Only one of Wi-Fi, Bluetooth, sink, source, Home, and Phone may be expanded at once.
|
||||
- Never print Home Assistant tokens, Authorization headers, clipboard text, certificate fingerprints, IP addresses, response bodies, or full local file paths.
|
||||
- Home Assistant tokens remain in the gitignored environment file or Secret Service; never write one into tracked content.
|
||||
- Home Assistant toggle commands accept only entity IDs from the configured favourites snapshot.
|
||||
- Home Assistant toggle commands accept only entity IDs from the configured favorites snapshot.
|
||||
- KDE Connect actions derive from advertised plugins; no fake battery or remote-input control is allowed.
|
||||
- Every Home toggle, file chooser, file send, clipboard send, and Ring action requires a user click.
|
||||
- Home toggle success, phone Ring, and clipboard success remain globally quiet.
|
||||
@@ -49,8 +49,8 @@
|
||||
- `config/dot/quickshell/modules/quicksettings/QuickSettings.qml` — tighter top attachment and service preparation.
|
||||
- `config/dot/quickshell/modules/quicksettings/QuickSettingsPanel.qml` — expanded composition and exclusive section routing.
|
||||
- `config/dot/quickshell/modules/quicksettings/ControlSectionHeader.qml` — quiet section label and optional trailing action.
|
||||
- `config/dot/quickshell/modules/quicksettings/HomeControls.qml` — four favourites, expanded configured list, loading/stale/failure states.
|
||||
- `config/dot/quickshell/modules/quicksettings/HomeTile.qml` — one domain-aware favourite tile.
|
||||
- `config/dot/quickshell/modules/quicksettings/HomeControls.qml` — four favorites, expanded configured list, loading/stale/failure states.
|
||||
- `config/dot/quickshell/modules/quicksettings/HomeTile.qml` — one domain-aware favorite tile.
|
||||
- `config/dot/quickshell/modules/quicksettings/PhoneControls.qml` — approved compact Continuity Card.
|
||||
- `config/dot/quickshell/modules/quicksettings/RecentExchange.qml` — one session-local completed transfer row.
|
||||
- `config/dot/quickshell/modules/bar/StatusCluster.qml` — reachable-phone glyph inside the existing click target.
|
||||
@@ -340,7 +340,7 @@ Expected: all tests PASS and the fake server records no unexpected route.
|
||||
- [ ] **Step 5: Add and run the redacted live contract**
|
||||
|
||||
The contract runs `probe` and `snapshot`, validates the schema, and prints only
|
||||
`PASS (configured=true, N favourites; contents redacted)`. It must pipe JSON to
|
||||
`PASS (configured=true, N favorites; contents redacted)`. It must pipe JSON to
|
||||
`jq` without printing friendly names, entity IDs, URL, or raw errors.
|
||||
|
||||
- [ ] **Step 6: Commit Task 2**
|
||||
@@ -599,7 +599,7 @@ git commit -m "Build the Panama Control Center"
|
||||
|
||||
- [ ] **Step 1: Update desktop documentation**
|
||||
|
||||
Mark Home Assistant favourites and KDE Connect phone integration Live. Document
|
||||
Mark Home Assistant favorites and KDE Connect phone integration Live. Document
|
||||
the 430-pixel Control Center, two-pixel bar attachment, environment/keyring
|
||||
configuration precedence, BlueBubbles messaging boundary, and current iOS
|
||||
capabilities. Remove those two items from `System UI still worth adding` while
|
||||
@@ -628,7 +628,7 @@ inspect only the new process's journal for QML errors or warnings.
|
||||
- [ ] **Step 4: Perform read-only live checks**
|
||||
|
||||
Verify the Control Center reports one reachable phone with the confirmed action
|
||||
names and seven configured Home favourites without printing identities. Open
|
||||
names and seven configured Home favorites without printing identities. Open
|
||||
and close the panel, expand Home and Phone, and confirm Wi-Fi, Bluetooth, audio,
|
||||
Focus, Caffeine, Night Light, settings, power, Escape, and outside-click remain
|
||||
usable. Do not trigger an external-device action.
|
||||
|
||||
@@ -503,7 +503,7 @@ Accounts destinations while this feature was in review. Merge commit `4ef2f01`
|
||||
preserves those routes and the newer Settings navigation architecture, keeps
|
||||
the stable `services` route rendered by `HealthPage`, and leaves
|
||||
`ServicesPage.qml` retired. Its useful Fedora handoffs for Users, Sharing,
|
||||
Colour profiles, and Digital wellbeing now live in the boundary-last System
|
||||
Color profiles, and Digital wellbeing now live in the boundary-last System
|
||||
Health card alongside the existing network handoff, with focused static and
|
||||
isolated runtime coverage.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user