Files
Aurora/config/aurora/modules/Tray.qml
2026-04-09 11:16:48 -05:00

67 lines
2.1 KiB
QML

import QtQuick // for Text
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell.Services.SystemTray
import Quickshell.Widgets
Item {
implicitHeight: 10 + rep.count * (2 * lay.spacing + 20)
width: 30
visible: SystemTray.items.values.length != 0
id: root
required property var window
required property real popupOffset
ClippingWrapperRectangle {
radius: 3
anchors.fill: parent
color: Settings.colors.color4
ColumnLayout {
id: lay
spacing: 4
Repeater {
id: rep
model: SystemTray.items
ClippingWrapperRectangle {
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
radius: 3
implicitWidth: 20
implicitHeight: 20
color: Settings.colors.color4
MouseArea {
anchors.fill: parent
Image {
anchors.fill: parent
source: {
let icon = SystemTray.items.values[index].icon
if (icon.includes("?path=")) {
const [name, path] = icon.split("?path=");
icon = Qt.resolvedUrl(`${path}/${name.slice(name.lastIndexOf("/") + 1)}`);
}
return icon
}
}
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: (mouse) => {
if(mouse.button == Qt.LeftButton) {
SystemTray.items.values[index].activate()
} else if(mouse.button == Qt.RightButton) {
SystemTray.items.values[index].display(root.window, popupOffset, root.y - 100)
}
}
}
}
}
}
}
}