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.Effects
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
import Quickshell.Services.SystemTray
|
||||
|
|
@ -19,13 +20,34 @@ RowLayout {
|
|||
id: iconItem
|
||||
required property SystemTrayItem modelData
|
||||
|
||||
readonly property bool _needsAttention: modelData.status === SystemTrayItemStatus.NeedsAttention
|
||||
property real _pulseOpacity: 1
|
||||
|
||||
implicitWidth: 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 {
|
||||
anchors.fill: parent
|
||||
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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue