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
88 lines
6.3 KiB
QML
88 lines
6.3 KiB
QML
pragma Singleton
|
|
|
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
// User-facing knobs. Everything here is something you might reasonably want to
|
|
// change without understanding the rest of the shell.
|
|
//
|
|
// Theme.qml holds *how it looks*; this holds *what it does*.
|
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
import Quickshell
|
|
import QtQuick
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
// ── Clock ───────────────────────────────────────────────────────────────
|
|
// Carried over from GNOME: 12-hour, weekday + date shown, seconds on.
|
|
readonly property bool use24Hour: DesktopPreferences.get("use24Hour")
|
|
readonly property bool showSeconds: DesktopPreferences.get("showSeconds")
|
|
readonly property bool showWeekday: DesktopPreferences.get("showWeekday")
|
|
|
|
// ── Weather ─────────────────────────────────────────────────────────────
|
|
// Coordinates taken from the GNOME night-light setting, which had already
|
|
// resolved the location. Uses Open-Meteo, which needs no API key.
|
|
readonly property real latitude: DesktopPreferences.get("weatherLatitude")
|
|
readonly property real longitude: DesktopPreferences.get("weatherLongitude")
|
|
// Open-Meteo returns coordinates but no friendly place name. Keep the
|
|
// label deliberately general rather than exposing precise coordinates in
|
|
// the UI or guessing at a city from them.
|
|
readonly property string weatherLocation: DesktopPreferences.get("weatherLocation")
|
|
readonly property string temperatureUnit: DesktopPreferences.get("temperatureUnit")
|
|
readonly property int weatherRefreshMinutes: DesktopPreferences.get("weatherRefreshMinutes")
|
|
|
|
// ── Vitals ──────────────────────────────────────────────────────────────
|
|
// The GNOME Vitals extension showed processor usage, memory usage and GPU
|
|
// usage, in that order. Same here.
|
|
readonly property int vitalsIntervalMs: DesktopPreferences.get("vitalsIntervalMs")
|
|
readonly property bool showCpu: DesktopPreferences.get("showCpu")
|
|
readonly property bool showMemory: DesktopPreferences.get("showMemory")
|
|
readonly property bool showGpu: DesktopPreferences.get("showGpu")
|
|
|
|
// amdgpu exposes utilisation here. Verified present on this machine; the
|
|
// widget hides itself if the path is missing rather than showing zeros.
|
|
readonly property string gpuBusyPath: DesktopPreferences.get("gpuBusyPath")
|
|
|
|
// ── Night light ─────────────────────────────────────────────────────────
|
|
// Matches the (disabled) GNOME schedule: 3500K from 17:00 to 10:00.
|
|
readonly property int nightLightTemperature: DesktopPreferences.get("nightLightTemperature")
|
|
readonly property real nightLightFrom: DesktopPreferences.get("nightLightFrom")
|
|
readonly property real nightLightTo: DesktopPreferences.get("nightLightTo")
|
|
readonly property bool nightLightEnabledByDefault: DesktopPreferences.get("nightLightEnabled")
|
|
|
|
// ── Notifications ───────────────────────────────────────────────────────
|
|
readonly property int notificationTimeoutMs: DesktopPreferences.get("notificationTimeoutMs")
|
|
readonly property int notificationTimeoutCriticalMs: DesktopPreferences.get("notificationTimeoutCriticalMs") // 0 = never auto-expire
|
|
readonly property int notificationHistoryLimit: DesktopPreferences.get("notificationHistoryLimit")
|
|
readonly property int maxVisibleToasts: DesktopPreferences.get("maxVisibleToasts")
|
|
|
|
// ── Focus ──────────────────────────────────────────────────────────────
|
|
// One deliberate default rather than a preset picker: quick settings and
|
|
// the keyboard shortcut should start a useful session in one action.
|
|
readonly property int focusDurationMinutes: DesktopPreferences.get("focusDurationMinutes")
|
|
|
|
// ── Dock ────────────────────────────────────────────────────────────────
|
|
// Pinned apps, in order, taken from the GNOME dash favorites.
|
|
readonly property var dockPinned: DesktopPreferences.get("dockPinned")
|
|
|
|
// Dash-to-Dock was set to intellihide against all windows: the dock hides
|
|
// when any window would overlap it, and comes back on hover.
|
|
readonly property bool dockAutohide: DesktopPreferences.get("dockAutohide")
|
|
|
|
// 0: reveal the instant the pointer reaches the bottom edge. A reveal delay
|
|
// is indistinguishable from lag, because the user has already committed to
|
|
// the gesture by the time the strip is hit.
|
|
readonly property int dockRevealDelayMs: DesktopPreferences.get("dockRevealDelayMs")
|
|
|
|
// Hiding keeps a delay, so brushing past the bottom edge or crossing the
|
|
// gap between two icons doesn't make the dock flicker.
|
|
readonly property int dockHideDelayMs: DesktopPreferences.get("dockHideDelayMs")
|
|
|
|
// ── Capture ─────────────────────────────────────────────────────────────
|
|
readonly property string screenshotDir: DesktopPreferences.get("screenshotDir")
|
|
readonly property string recordingDir: DesktopPreferences.get("recordingDir")
|
|
// Passed to wf-recorder. Uses VAAPI on the AMD card so recording does not
|
|
// cost CPU while gaming.
|
|
readonly property string recorderArgs: DesktopPreferences.get("recorderArgs")
|
|
}
|