tray: needs-attention glow and pulse
This commit is contained in:
parent
e96ccf7f63
commit
d8d602d30f
1 changed files with 23 additions and 1 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
import QtQuick.Effects
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Quickshell.Services.SystemTray
|
import Quickshell.Services.SystemTray
|
||||||
|
|
@ -19,13 +20,34 @@ RowLayout {
|
||||||
id: iconItem
|
id: iconItem
|
||||||
required property SystemTrayItem modelData
|
required property SystemTrayItem modelData
|
||||||
|
|
||||||
|
readonly property bool _needsAttention: modelData.status === SystemTrayItemStatus.NeedsAttention
|
||||||
|
property real _pulseOpacity: 1
|
||||||
|
|
||||||
implicitWidth: 18
|
implicitWidth: 18
|
||||||
implicitHeight: 18
|
implicitHeight: 18
|
||||||
|
|
||||||
|
SequentialAnimation {
|
||||||
|
running: iconItem._needsAttention
|
||||||
|
loops: Animation.Infinite
|
||||||
|
NumberAnimation { target: iconItem; property: "_pulseOpacity"; to: 0.3; duration: 400; easing.type: Easing.InOutQuad }
|
||||||
|
NumberAnimation { target: iconItem; property: "_pulseOpacity"; to: 1; duration: 400; easing.type: Easing.InOutQuad }
|
||||||
|
onRunningChanged: if (!running) iconItem._pulseOpacity = 1
|
||||||
|
}
|
||||||
|
|
||||||
M.ThemedIcon {
|
M.ThemedIcon {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: iconItem.modelData.icon
|
source: iconItem.modelData.icon
|
||||||
tint: M.Theme.base0D
|
tint: iconItem._needsAttention ? M.Theme.base08 : M.Theme.base0D
|
||||||
|
opacity: iconItem._pulseOpacity
|
||||||
|
|
||||||
|
layer.enabled: iconItem._needsAttention
|
||||||
|
layer.effect: MultiEffect {
|
||||||
|
shadowEnabled: true
|
||||||
|
shadowColor: M.Theme.base08
|
||||||
|
shadowBlur: 0.8
|
||||||
|
shadowVerticalOffset: 0
|
||||||
|
shadowHorizontalOffset: 0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HoverHandler {
|
HoverHandler {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue