quickshell/modules/bar/Tray.qml
2026-05-14 17:40:40 +02:00

47 lines
1.3 KiB
QML

pragma ComponentBehavior: Bound
import Quickshell
import Quickshell.Services.SystemTray
import Quickshell.DBusMenu
import Quickshell.Widgets
import QtQuick
import QtQuick.Layouts
import qs
import qs.widgets
WrapperRectangle {
id: root
color: Colors.base01
required property int barHeight
property double vertMargin: barHeight / 4 - 4
topMargin: vertMargin
bottomMargin: vertMargin
leftMargin: 8
rightMargin: 8
child: RowLayout {
id: iconlayout
Repeater {
id: iconRepeater
model: SystemTray.items
delegate: WrapperMouseArea {
id: iconWrapper
required property var modelData
child: IconImage {
source: iconWrapper.modelData.icon
implicitSize: 16
}
QsMenuAnchor {
id: menu
anchor.item: iconWrapper
menu: iconWrapper.modelData.menu
}
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: mouse => {
if (mouse.button == Qt.RightButton) {
menu.open();
}
}
}
}
}
}