add systray

This commit is contained in:
lucy 2026-01-16 12:00:55 +01:00
parent 50ca7c10d1
commit f4f652ed8a
4 changed files with 56 additions and 0 deletions

View File

@ -44,6 +44,7 @@ Variants {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
Clock {} Clock {}
Volume {} Volume {}
SystemTray {}
Battery {} Battery {}
} }
} }

View File

@ -0,0 +1,18 @@
import Quickshell.Services.SystemTray
import QtQuick
import "."
import "../../settings/"
Item {
id: root
implicitWidth: trayRow.implicitWidth
implicitHeight: Settings.config.barHeight
Row {
id: trayRow
Repeater {
id: trayRepeater
model: SystemTray.items
delegate: TrayItem {}
}
}
}

View File

@ -0,0 +1,36 @@
import QtQuick
import Quickshell
import Quickshell.Services.SystemTray
import Quickshell.Widgets
MouseArea {
id: root
property var bar: root.QsWindow.window
required property SystemTrayItem modelData
acceptedButtons: Qt.LeftButton | Qt.RightButton
implicitWidth: 16
implicitHeight: 16
onClicked: event => {
if (event.button === Qt.LeftButton) {
modelData.activate();
} else if (modelData.hasMenu) {
menu.open();
}
}
QsMenuAnchor {
id: menu
menu: root.modelData.hasMenu ? root.modelData.menu : null
anchor.item: root
}
IconImage {
id: trayIcon
width: parent.implicitWidth
height: parent.implicitHeight
source: root.modelData.icon
anchors.centerIn: parent
}
}

View File

@ -1,3 +1,4 @@
//@ pragma UseQApplication
import Quickshell import Quickshell
import QtQuick import QtQuick
import "./settings/" import "./settings/"