41 lines
1 KiB
QML
41 lines
1 KiB
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
|
|
|
|
Image {
|
|
anchors.fill: parent
|
|
source: iconItem.modelData.icon
|
|
fillMode: Image.PreserveAspectFit
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|