Coherence: one component per idea, one spelling per word, one truth per claim

Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
Gabriel Brown
2026-08-25 02:21:45 -04:00
parent 06c53d6c21
commit bd2fd12de2
87 changed files with 660 additions and 766 deletions
@@ -1,6 +1,6 @@
// Accessibility.
//
// Organised by what a person came here unable to do -- see it, tolerate the
// Organized by what a person came here unable to do -- see it, tolerate the
// motion, hear it, reach it from the keyboard, have it read aloud -- rather
// than by which subsystem happens to implement each control. The old page was
// grouped by mechanism (Pointer / Text / Motion / Magnifier / Contrast), which
@@ -112,7 +112,11 @@ SettingsPage {
// the preference at launch, and re-applying the value it is already
// running would be a hyprctl call for nothing every time this page
// opens.
ChoiceRow {
//
// A picker rather than a segmented control: five options with a
// sentence under each get ninety pixels apiece in a strip, which is
// room for neither.
OptionPickerRow {
id: colorFilterRow
property string appliedFilter: ""
@@ -164,26 +168,21 @@ SettingsPage {
title: "Hearing"
subtitle: "What the desktop does instead of making a sound."
ToggleRow { setting: "visualAlerts" }
ToggleRow { setting: "visualAlerts"; divider: false }
SettingRow {
label: "Mono audio"
detail: "Not offered yet — folding stereo into one channel is a real change to the PipeWire graph, and a switch that only looked like it did that would be worse than its absence. Balance lives on the Sound page meanwhile."
controlWidth: 90
divider: false
Item { width: 1; height: 10 }
SoundBadge {
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
text: "Not yet"
tone: Theme.fgMuted
}
// Said the same way the keyboard card says its absence, rather than as
// a row wearing a badge that stands for a control it never had.
SettingsNote {
headline: "Mono audio is not offered yet"
body: "Folding stereo into one channel is a real change to the PipeWire graph, and a switch that only looked like it did that would be worse than its absence. Balance lives on the Sound page meanwhile."
}
}
SettingsCard {
title: "Keyboard & pointer"
subtitle: "Key behaviour lives with the Keyboard settings; what the pointer does when you stop moving it lives here."
subtitle: "Key behavior lives with the Keyboard settings; what the pointer does when you stop moving it lives here."
ActionRow {
label: "Key repeat"
@@ -219,7 +218,7 @@ SettingsPage {
anchors.verticalCenter: parent.verticalCenter
spacing: 9
SoundBadge {
StatusBadge {
anchors.verticalCenter: parent.verticalCenter
text: Accessibility.orcaRunning ? "Running" : "Stopped"
tone: Accessibility.orcaRunning ? Theme.ok : Theme.fgMuted
@@ -239,12 +238,12 @@ SettingsPage {
}
SettingRow {
label: "This app, read aloud"
label: "This application, read aloud"
detail: "Every settings row carries a spoken name and takes keyboard focus — Tab walks the page, Space flips a switch, the arrows move a slider or step a choice"
controlWidth: 90
divider: false
SoundBadge {
StatusBadge {
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
text: "Built in"