added Tray
This commit is contained in:
@@ -72,6 +72,7 @@ PanelWindow {
|
|||||||
spacing: 8
|
spacing: 8
|
||||||
|
|
||||||
// TODO: Add bluetooth, network, audio, power, maybe HW monitor
|
// TODO: Add bluetooth, network, audio, power, maybe HW monitor
|
||||||
|
Tray{}
|
||||||
Network {}
|
Network {}
|
||||||
PowerButton {}
|
PowerButton {}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,78 @@
|
|||||||
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Hyprland
|
||||||
|
import Quickshell.Services.SystemTray
|
||||||
|
import "../../../colors"
|
||||||
|
|
||||||
|
Row { // Workspace Row
|
||||||
|
id: trayRow
|
||||||
|
spacing: 8
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: SystemTray.items
|
||||||
|
|
||||||
|
Rectangle { //trayItem
|
||||||
|
width: bar.height
|
||||||
|
height: bar.height
|
||||||
|
radius: 4
|
||||||
|
color: "transparent"
|
||||||
|
border.width: 2
|
||||||
|
|
||||||
|
// Text {
|
||||||
|
// id: iconName
|
||||||
|
// text: modelData.Name
|
||||||
|
// anchors.centerIn: parent
|
||||||
|
// color: "white"
|
||||||
|
// font.pixelSize: 18
|
||||||
|
// font.family: "Inter, sans-serif"
|
||||||
|
// }
|
||||||
|
MouseArea {
|
||||||
|
id: workspaceButton
|
||||||
|
hoverEnabled: true
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
anchors.fill: parent
|
||||||
|
acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton
|
||||||
|
onClicked: (mouse) => {
|
||||||
|
switch (mouse.button) {
|
||||||
|
case Qt.LeftButton:
|
||||||
|
modelData.activate()
|
||||||
|
break
|
||||||
|
case Qt.MiddleButton:
|
||||||
|
modelData.secondaryActivate?.()
|
||||||
|
break
|
||||||
|
case Qt.RightButton:
|
||||||
|
modelData.activate()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.fill: parent
|
||||||
|
color: workspaceButton.containsMouse ? Colors.tertiaryContainer
|
||||||
|
: modelData.active ? Colors.primaryContainer
|
||||||
|
: Colors.secondaryContainer
|
||||||
|
border.color: workspaceButton.containsMouse ? Colors.tertiaryContainer_fg
|
||||||
|
: modelData.active ? Colors.primaryContainer_fg
|
||||||
|
: Colors.secondaryContainer_fg
|
||||||
|
radius: 6
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Image { // Image
|
||||||
|
id: iconImage
|
||||||
|
source: modelData.icon
|
||||||
|
fillMode: Image.PreserveAspectCrop
|
||||||
|
|
||||||
|
anchors.centerIn: parent
|
||||||
|
|
||||||
|
width: bar.height*0.75
|
||||||
|
height: bar.height*0.75
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
|
cache: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,7 +13,7 @@ Row { // Workspace Row
|
|||||||
model: Hyprland.workspaces
|
model: Hyprland.workspaces
|
||||||
|
|
||||||
Rectangle { //workspace
|
Rectangle { //workspace
|
||||||
visible: modelData.monitor === thisMonitor
|
visible: modelData.monitor === thisMonitor
|
||||||
width: workspaceNum.width + 26
|
width: workspaceNum.width + 26
|
||||||
height: workspaceNum.height + 8
|
height: workspaceNum.height + 8
|
||||||
radius: 4
|
radius: 4
|
||||||
|
|||||||
Reference in New Issue
Block a user