import Quickshell // for PanelWindow import QtQuick // for Text import QtQuick.Shapes import QtQuick.Controls import QtQuick.Layouts import Quickshell.Io import Quickshell.Widgets import Quickshell.Wayland import Quickshell.Hyprland PanelWindow { anchors { top: true left: true right: true bottom: true } exclusionMode: ExclusionMode.Ignore WlrLayershell.layer: WlrLayer.Overlay id: root mask: Region { item: out } color: "#99000000" Lock { id: lock bg_path: "/tmp/nathan/tmp.jpg" //locked: true } MouseArea { id: out anchors.fill: parent onClicked: { root.visible = false } ClippingRectangle { implicitWidth: 200 implicitHeight: 200 id: main anchors.centerIn: parent radius: 10 color: "transparent" GridLayout { columns: 2 rows: 2 Repeater { model: 4 WrapperMouseArea { ClippingWrapperRectangle { radius: 10 Text { text: switch(index) { case 0: return "󰍃" case 1: return " " case 2: return " " case 3: return " " default: return " " break; } font.pointSize: 16 horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter color: Pywal.special.foreground } implicitHeight: 60 implicitWidth: 60 color: parent.contansMouse ? Pywal.colors.color12 : Pywal.colors.color4 } hoverEnabled: true onEntered: { child.color = Pywal.colors.color12 } onExited: { child.color = Pywal.colors.color4 } onClicked: { root.visible = false switch(index) { case 0: Hyprland.dispatch("exec loginctl kill-session self") break; case 1: Hyprland.dispatch("exec systemctl reboot") break; case 2: Hyprland.dispatch("exec loginctl lock-session") break; case 3: Hyprland.dispatch("exec systemctl poweroff") break; default: lock.locked = true break; } } } } } } } }