Make every settings row reachable, and every accessibility switch honest

Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
Gabriel Brown
2026-08-24 21:03:36 -04:00
parent e1ff25fc66
commit 9ffaf45a4d
33 changed files with 2384 additions and 76 deletions
+41
View File
@@ -89,6 +89,15 @@ ShellRoot {
Osd {}
}
// The visual bell, on every screen at once -- someone watching the other
// monitor is exactly who this is for. Each one stays unmapped until a
// bell-eligible notification arrives, and does nothing at all while the
// Visual alerts setting is off.
Variants {
model: Quickshell.screens
VisualBell {}
}
DisplayIdentify {}
// ── Single-instance overlays ────────────────────────────────────────────
@@ -331,6 +340,38 @@ ShellRoot {
}
}
// The magnifier keys: SUPER+ALT+= steps in, SUPER+ALT+- steps out,
// SUPER+ALT+0 goes back to 1.00 ×.
//
// They come through the shell rather than setting cursor:zoom_factor on the
// compositor directly, so the stored preference, the Magnifier slider and
// what is actually on screen are always the same number -- and so there is
// an OSD saying what the magnification now is, which matters when the thing
// you are looking at is somewhere else entirely.
//
// A dead shell means dead zoom keys. That is honest: with the shell down
// there is no bar, no dock and no OSD either.
IpcHandler {
target: "accessibility"
function zoom(direction: string): string { return Accessibility.stepZoom(direction); }
// Re-probe the screen reader and the accessibility bus. The settings
// page calls Accessibility.refreshScreenReader() directly when it
// opens; this is the same probe from outside, so `status` below can be
// asked for something other than "not looked yet".
function refresh(): void { Accessibility.refreshScreenReader(); }
function status(): string {
return JSON.stringify({
magnifierFactor: Accessibility.magnifierFactor,
visualAlerts: Settings.visualAlerts,
orcaRunning: Accessibility.orcaRunning,
accessibilityBusRunning: Accessibility.accessibilityBusRunning
});
}
}
IpcHandler {
target: "activity"