add systemtray to bar
This commit is contained in:
parent
005831c9e9
commit
79795005ae
@ -55,6 +55,7 @@ Variants {
|
||||
}
|
||||
Clock {}
|
||||
StatusIcons {}
|
||||
Tray {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
22
modules/Bar/Tray.qml
Normal file
22
modules/Bar/Tray.qml
Normal file
@ -0,0 +1,22 @@
|
||||
import Quickshell.Services.SystemTray
|
||||
import QtQuick
|
||||
import qs
|
||||
import qs.settings
|
||||
import QtQuick.Layouts
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
implicitWidth: trayRow.implicitWidth + 12
|
||||
implicitHeight: Settings.config.barHeight / 2 + 6
|
||||
radius: Settings.config.rounding
|
||||
color: ThemeLoader.colors.base01
|
||||
RowLayout {
|
||||
id: trayRow
|
||||
anchors.centerIn: parent
|
||||
Repeater {
|
||||
id: trayRep
|
||||
model: SystemTray.items
|
||||
delegate: TrayItem{}
|
||||
}
|
||||
}
|
||||
}
|
||||
30
modules/Bar/TrayItem.qml
Normal file
30
modules/Bar/TrayItem.qml
Normal file
@ -0,0 +1,30 @@
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Services.SystemTray
|
||||
import Quickshell.Widgets
|
||||
import qs
|
||||
|
||||
MouseArea {
|
||||
id: root
|
||||
required property SystemTrayItem modelData
|
||||
implicitWidth: trayIcon.implicitWidth
|
||||
implicitHeight: trayIcon.implicitHeight
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
IconImage {
|
||||
id: trayIcon
|
||||
implicitSize: 16
|
||||
source: parent.modelData.icon
|
||||
}
|
||||
QsMenuAnchor {
|
||||
id: menu
|
||||
menu: root.modelData.hasMenu ? root.modelData.menu : null
|
||||
anchor.item: root
|
||||
}
|
||||
onClicked: event => {
|
||||
if (event.button === Qt.LeftButton) {
|
||||
modelData.activate();
|
||||
} else if (modelData.hasMenu) {
|
||||
menu.open();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user