From 81096e2d959aa9ee8f9da46d666ae5454e6f5257 Mon Sep 17 00:00:00 2001 From: Gabriel Brown Date: Tue, 18 Aug 2026 05:54:07 -0400 Subject: [PATCH] Declare the Sound and notification-rule manifest entries Registers the components and schema key the codex agent needs for the Sound page and per-application notification rules, so its branches compile against a manifest that already holds them rather than each carrying a conflicting edit to the same file. An absent notification rule is permissive rather than denying: a newly installed application must be able to notify without an entry being written for it first. Claude-Session: https://claude.ai/code/session_01BRvzt4H8XXLPVH5MyYdk9L --- config/dot/quickshell/config/PreferenceSchema.qml | 15 +++++++++++++++ config/dot/quickshell/modules/settings/qmldir | 3 +++ 2 files changed, 18 insertions(+) diff --git a/config/dot/quickshell/config/PreferenceSchema.qml b/config/dot/quickshell/config/PreferenceSchema.qml index fd9f057..f754f86 100644 --- a/config/dot/quickshell/config/PreferenceSchema.qml +++ b/config/dot/quickshell/config/PreferenceSchema.qml @@ -521,6 +521,21 @@ Singleton { detail: "Resolution, scale, and rotation per connected display" }, + // ── Per-application notification rules ────────────────────────────── + // { "": { enabled, showOnLockScreen, showContentOnLockScreen } } + // + // Absent means "no rule", which is not the same as a rule that allows + // everything: a new application must be able to notify without needing + // an entry written for it first. services/Notifs.qml treats a missing + // entry as permissive and Do Not Disturb remains an override on top, + // rather than being duplicated per application. + { + key: "notificationAppRules", type: "json", def: ({}), group: "notifications", + internal: true, + label: "Application notification rules", + detail: "Per-application notification and lock-screen visibility preferences" + }, + // ── Internal ──────────────────────────────────────────────────────── { key: "lastPage", type: "string", def: "home", group: "internal", diff --git a/config/dot/quickshell/modules/settings/qmldir b/config/dot/quickshell/modules/settings/qmldir index 8ffc0ff..5fa46ea 100644 --- a/config/dot/quickshell/modules/settings/qmldir +++ b/config/dot/quickshell/modules/settings/qmldir @@ -40,3 +40,6 @@ DisplayModePicker 1.0 DisplayModePicker.qml WifiPanel 1.0 WifiPanel.qml BluetoothPanel 1.0 BluetoothPanel.qml PasswordField 1.0 PasswordField.qml +AudioBalance 1.0 AudioBalance.qml +SoundDeviceList 1.0 SoundDeviceList.qml +SoundDeviceRow 1.0 SoundDeviceRow.qml