nova-shell/modules/Tray.qml
2026-04-10 10:49:48 +02:00

40 lines
1,003 B
QML

import QtQuick
import QtQuick.Layouts
import Quickshell
import Quickshell.Services.SystemTray
RowLayout {
id: root
spacing: 6
required property var bar
Repeater {
model: SystemTray.items
delegate: Item {
id: iconItem
required property SystemTrayItem modelData
implicitWidth: 18
implicitHeight: 18
IconImage {
anchors.fill: parent
source: iconItem.modelData.icon
}
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: (mouse) => {
if (mouse.button === Qt.LeftButton) {
iconItem.modelData.activate();
} else if (mouse.button === Qt.RightButton) {
iconItem.modelData.display(root.bar, mouse.x, mouse.y);
}
}
}
}
}
}