add systray
This commit is contained in:
parent
50ca7c10d1
commit
f4f652ed8a
@ -44,6 +44,7 @@ Variants {
|
|||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
Clock {}
|
Clock {}
|
||||||
Volume {}
|
Volume {}
|
||||||
|
SystemTray {}
|
||||||
Battery {}
|
Battery {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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 {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user