import Quickshell import QtQuick // for Text import QtQuick.Controls import QtQuick.Layouts import Quickshell.Hyprland import Quickshell.Io import Quickshell.Widgets Item { width: 30 height: 30 id: root required property PanelWindow window required property real popupOffset ClippingWrapperRectangle { radius: 5 width: 30; height: 30 Button { id: button text: " " font.pointSize: 16 onClicked: { menu.visible = true grab.active = true } implicitHeight: parent.height } } PopupWindow { id: menu anchor.window: window anchor.rect.x: popupOffset anchor.rect.y: 50 implicitWidth: 150 implicitHeight: 250 visible: false color: "transparent" ClippingWrapperRectangle { radius: 5 implicitHeight: parent.height - 20 implicitWidth: parent.width ColumnLayout { spacing: 0 Button { Layout.topMargin: 5 x: (parent.width - width) / 2 implicitWidth: parent.width - 10 implicitHeight: parent.height / 5 - parent.spacing text: 'shutdown' } Button { x: (parent.width - width) / 2 implicitWidth: parent.width - 10 implicitHeight: parent.height / 5 - parent.spacing text: 'reboot' } Button { x: (parent.width - width) / 2 implicitWidth: parent.width - 10 implicitHeight: parent.height / 5 - parent.spacing text: 'logout' } Button { Layout.bottomMargin: 10 x: (parent.width - width) / 2 implicitWidth: parent.width - 10 implicitHeight: parent.height / 5 - parent.spacing text: 'sleep' } } } HyprlandFocusGrab { id: grab windows: [ menu ] onCleared: menu.visible = false } } }