bar: animate tray

This commit is contained in:
2 * r + 2 * t 2025-04-29 20:52:02 +10:00
parent 0d5389a687
commit 4e41356d5c

View file

@ -7,47 +7,50 @@ import Quickshell.Services.SystemTray
import QtQuick import QtQuick
import Qt5Compat.GraphicalEffects import Qt5Compat.GraphicalEffects
BoxLayout { StyledRect {
id: root animate: true
clip: true
Repeater { BoxLayout {
model: SystemTray.items Repeater {
model: SystemTray.items
MouseArea { MouseArea {
id: item id: item
required property SystemTrayItem modelData required property SystemTrayItem modelData
acceptedButtons: Qt.LeftButton | Qt.RightButton acceptedButtons: Qt.LeftButton | Qt.RightButton
width: Math.round(Appearance.font.size.large * 1.2) width: Math.round(Appearance.font.size.large * 1.2)
height: Math.round(Appearance.font.size.large * 1.2) height: Math.round(Appearance.font.size.large * 1.2)
onClicked: event => { onClicked: event => {
if (event.button === Qt.LeftButton) if (event.button === Qt.LeftButton)
modelData.activate(); modelData.activate();
else if (modelData.hasMenu) else if (modelData.hasMenu)
menu.open(); menu.open();
} }
QsMenuAnchor { QsMenuAnchor {
id: menu id: menu
menu: item.modelData.menu menu: item.modelData.menu
anchor.window: QsWindow.window anchor.window: QsWindow.window
} }
IconImage { IconImage {
id: icon id: icon
visible: false visible: false
source: item.modelData.icon source: item.modelData.icon
anchors.fill: parent anchors.fill: parent
} }
ColorOverlay { ColorOverlay {
anchors.fill: icon anchors.fill: icon
source: icon source: icon
color: Appearance.colours.lavender color: Appearance.colours.lavender
}
} }
} }
} }