aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/notifications
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-19 09:39:08 +0200
committerDanilo M. <danix@danix.xyz>2026-10-19 09:39:08 +0200
commitf7fb6d612acd1e4edb049e496b6f5731ce24e6ef (patch)
tree30e5830d52fe33d2a1c81389548b0d9c87b1223d /desktop/modules/notifications
parentc0c407306426fcb12a51a0cdd0b3bdde92014af3 (diff)
downloadquickshell-f7fb6d612acd1e4edb049e496b6f5731ce24e6ef.tar.gz
quickshell-f7fb6d612acd1e4edb049e496b6f5731ce24e6ef.zip
desktop: tell muted apps from suggestions, explain the limits
Muted and suggested apps were the same chip in two unlabelled rows. Each row now has a caption; muted chips are red, suggestions dimmed and cut to the eight most recent, newest first. The suggestions were already bounded by the live and history caps. Limits gains a line saying what the two numbers do, like the one under Timeouts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/notifications')
-rw-r--r--desktop/modules/notifications/NotificationsPage.qml31
1 files changed, 27 insertions, 4 deletions
diff --git a/desktop/modules/notifications/NotificationsPage.qml b/desktop/modules/notifications/NotificationsPage.qml
index 37fa2a1..28bdcf4 100644
--- a/desktop/modules/notifications/NotificationsPage.qml
+++ b/desktop/modules/notifications/NotificationsPage.qml
@@ -72,6 +72,12 @@ Column {
}
Heading { text: "Limits" }
+ Text {
+ width: pg.width; wrapMode: Text.Wrap
+ text: "How many notifications are kept live and in history, 1 to 100 each. Past the live limit the oldest moves to history; past the history limit it is dropped."
+ color: Theme.overlay
+ font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 }
+ }
Repeater {
model: [["liveCap", "On screen"], ["historyCap", "History"]]
Row {
@@ -142,26 +148,43 @@ Column {
color: Theme.overlay
font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 }
}
+ // Two rows told apart by a caption and by look: muted apps in red, a
+ // click unmutes; recent apps dimmed, a click mutes.
+ Text {
+ text: pg.d.muted.length ? "Muted, click to unmute" : "No muted apps"
+ color: Theme.subtext
+ font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4; bold: true }
+ }
Flow {
width: pg.width; spacing: 6
Repeater {
model: pg.d.muted
Button {
required property string modelData
- text: modelData; icon: ""
+ text: modelData; icon: "\uf00d"; danger: true
onClicked: pg.mod.edit({ muted: pg.d.muted.filter(a => a !== modelData) })
}
}
}
- // Apps seen in the queue and history, not yet muted, one click to add.
+ // Apps seen in the queue and history, newest first (both lists are), not
+ // yet muted. Bounded by the two caps already; the slice keeps the row short.
+ Text {
+ visible: recent.count > 0
+ topPadding: 6
+ text: "Recently seen, click to mute"
+ color: Theme.subtext
+ font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4; bold: true }
+ }
Flow {
width: pg.width; spacing: 6
Repeater {
+ id: recent
model: [...new Set(Notify.queue.concat(Notify.history).map(n => n.app))]
- .filter(a => a && pg.d.muted.indexOf(a) < 0).sort()
+ .filter(a => a && pg.d.muted.indexOf(a) < 0).slice(0, 8)
Button {
required property string modelData
- text: modelData; icon: ""
+ text: modelData; icon: "\uf067"
+ opacity: 0.7
onClicked: pg.mod.edit({ muted: pg.d.muted.concat([modelData]) })
}
}