Files
z-bar-qt/Modules/TrayItem.qml
T
Zacharias-Brohn 51cc2d867b daivin
2025-10-10 17:42:48 +02:00

38 lines
1.1 KiB
QML

import QtQuick
import QtQuick.Controls
import QtQuick.Effects
import Quickshell
import Quickshell.Widgets
import Quickshell.Services.SystemTray
IconImage {
id: root
required property SystemTrayItem item
source: root.item.icon
implicitSize: 15
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: event => {
switch (event.button) {
case Qt.LeftButton: root.item.activate(); break;
case Qt.RightButton:
if (root.item.hasMenu) {
const window = QsWindow.window;
const widgetRect = window.contentItem.mapFromItem(root, -24, root.height -12 , root.width, root.height);
menuAnchor.anchor.rect = widgetRect;
menuAnchor.open();
}
break;
}
}
}
QsMenuAnchor {
id: menuAnchor
menu: root.item.menu
anchor.window: root.QsWindow.window?? null
anchor.adjustment: PopupAdjustment.SlideX
}
}