From d831fc82f2249b59782613a59b03eeb59be33a4c Mon Sep 17 00:00:00 2001 From: rope Date: Wed, 19 Aug 2026 12:10:37 +0100 Subject: [PATCH] quickshell: cap tracked notifications at 30 --- settings/quickshell.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/settings/quickshell.nix b/settings/quickshell.nix index 7dab244..68dfd48 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -1748,6 +1748,14 @@ in keepOnReload: true onNotification: (notification) => { notification.tracked = true; + // Tracked notifications are never expired, and the list + // renders through a Repeater — every delegate is live, + // no view recycling. Left uncapped, a day's worth of + // notifications is a day's worth of retained image + // textures being repainted, which measurably starves + // games of the GPU. Drop the oldest past the cap. + const kept = [...(_notifServer.trackedNotifications.values)]; + for (let i = 0; i < kept.length - 30; i++) kept[i].dismiss(); root.latestNotification = notification; root.notificationReceived(); }