First commit

This commit is contained in:
2026-03-06 08:06:15 -06:00
commit 93c1b00adc
42 changed files with 2839 additions and 0 deletions

View File

@@ -0,0 +1,120 @@
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'
onClicked: shutdown.running = true
Process {
id: shutdown
running: false
command: ["systemctl", "poweroff"]
}
}
Button {
x: (parent.width - width) / 2
implicitWidth: parent.width - 10
implicitHeight: parent.height / 5 - parent.spacing
text: 'reboot'
onClicked: reboot.running = true
Process {
id: reboot
running: false
command: ["systemctl", "reboot"]
}
}
Button {
x: (parent.width - width) / 2
implicitWidth: parent.width - 10
implicitHeight: parent.height / 5 - parent.spacing
text: 'logout'
onClicked: logout.running = true
Process {
id: logout
running: false
command: ["loginctl", "kill-session", "self" ]
}
}
Button {
Layout.bottomMargin: 10
x: (parent.width - width) / 2
implicitWidth: parent.width - 10
implicitHeight: parent.height / 5 - parent.spacing
text: 'sleep'
onClicked: sleep.running = true
Process {
id: sleep
running: false
command: ["systemctl", "sleep"]
}
}
}
}
HyprlandFocusGrab {
id: grab
windows: [ menu ]
onCleared: menu.visible = false
}
}
}