From 32a59388191dba388cb58f4da402b27ca0de5d55 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 20 May 2026 15:22:18 +0200 Subject: [PATCH] Remove notification progress indicator --- shell/plugins/notifications/Service.qml | 8 +++--- .../components/NotificationCard.qml | 25 +------------------ 2 files changed, 4 insertions(+), 29 deletions(-) diff --git a/shell/plugins/notifications/Service.qml b/shell/plugins/notifications/Service.qml index 908368ea..6da0b9c0 100644 --- a/shell/plugins/notifications/Service.qml +++ b/shell/plugins/notifications/Service.qml @@ -820,9 +820,9 @@ Item { Repeater { model: popupModel - // The delegate is a slot Item that owns lifetime state (timer, - // progress, paused). The actual visuals live in NotificationCard, - // which the history panel also reuses. + // The delegate is a slot Item that owns lifetime timer state. The + // actual visuals live in NotificationCard, which the history panel + // also reuses. delegate: Item { id: cardSlot required property int index @@ -872,8 +872,6 @@ Item { cornerRadius: service.cornerRadius fontFamily: service.shell && service.shell.bar ? service.shell.bar.fontFamily : "" glyph: cardSlot.glyph - progress: cardSlot.progress - showProgress: cardSlot.lifetime > 0 onCloseRequested: service.dismissPopup(cardSlot.index) onCardClicked: service.invokePopupDefault(cardSlot.index) diff --git a/shell/plugins/notifications/components/NotificationCard.qml b/shell/plugins/notifications/components/NotificationCard.qml index c99570da..6e5d244a 100644 --- a/shell/plugins/notifications/components/NotificationCard.qml +++ b/shell/plugins/notifications/components/NotificationCard.qml @@ -24,9 +24,6 @@ Rectangle { property double timestamp: 0 property int cornerRadius: 0 - property real progress: 1.0 - property bool showProgress: false - // System monospace font injected by the container. property string fontFamily: "" @@ -69,8 +66,7 @@ Rectangle { implicitWidth: Style.space(380) // Add 2 * border.width so mainColumn (inset by border.width on top/left/right) - // doesn't push content under the bottom edge. The bottom edge is also inset - // for symmetry except when the progress bar replaces it. + // doesn't push content under the bottom edge. implicitHeight: mainColumn.implicitHeight + border.width * 2 radius: cornerRadius color: Color.notifications.background @@ -176,23 +172,4 @@ Rectangle { } } - // Progress bar at the bottom edge. Stays visible while the container has - // a finite lifetime; freezes (doesn't decrement) when hover pauses the - // tick from the container side. - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - height: Math.max(1, Style.space(3)) - color: Color.notifications.border - visible: root.showProgress - - Rectangle { - anchors.left: parent.left - anchors.top: parent.top - anchors.bottom: parent.bottom - width: parent.width * Math.max(0, Math.min(1, root.progress)) - color: root.accentColor - } - } }