fixes waybar, adds quickshell
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
// modules/SysTrayWidget.qml - SNI system tray (nm-applet, blueman ...)
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Quickshell.Services.SystemTray
|
||||
import ".."
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
color: "transparent"
|
||||
radius: Theme.radius
|
||||
|
||||
implicitWidth: trayRow.implicitWidth + 6
|
||||
implicitHeight: Theme.barHeight
|
||||
|
||||
RowLayout {
|
||||
id: trayRow
|
||||
anchors.centerIn: parent
|
||||
spacing: Theme.spacing
|
||||
|
||||
Repeater {
|
||||
model: SystemTray.items
|
||||
|
||||
Rectangle {
|
||||
required property SystemTrayItem modelData
|
||||
width: 22; height: 22
|
||||
radius: Theme.radius
|
||||
color: trayHover.containsMouse
|
||||
? Theme.pillHover
|
||||
: Qt.rgba(0.976, 0.945, 0.851, 0.15)
|
||||
|
||||
Behavior on color { ColorAnimation { duration: 150 } }
|
||||
|
||||
Image {
|
||||
anchors { fill: parent; margins: 4 }
|
||||
source: modelData.icon
|
||||
fillMode: Image.PreserveAspectFit
|
||||
smooth: true
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: trayHover
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: (m) => {
|
||||
if (m.button === Qt.LeftButton)
|
||||
modelData.activate()
|
||||
else
|
||||
modelData.contextMenu(mapToGlobal(mouseX, mouseY))
|
||||
}
|
||||
}
|
||||
|
||||
// Attention indicator dot
|
||||
Rectangle {
|
||||
visible: modelData.status === SystemTrayItem.NeedsAttention
|
||||
width: 5; height: 5; radius: 2.5
|
||||
color: Theme.wsUrgent
|
||||
anchors { bottom: parent.bottom; right: parent.right; margins: 1 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user