removed eww and waybar added quickshell
This commit is contained in:
71
quickshell/LogoutMenu.qml
Normal file
71
quickshell/LogoutMenu.qml
Normal file
@@ -0,0 +1,71 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Quickshell.Io
|
||||
|
||||
// Mirrors eww logout-menu
|
||||
Item {
|
||||
id: root
|
||||
property bool open: false
|
||||
|
||||
implicitHeight: 26
|
||||
implicitWidth: lrow.implicitWidth
|
||||
|
||||
Row {
|
||||
id: lrow
|
||||
spacing: 4
|
||||
layoutDirection: Qt.RightToLeft
|
||||
|
||||
// Toggle btn
|
||||
Rectangle {
|
||||
width: 26; height: 26; radius: 13
|
||||
color: root.open ? "#89b4fa" : "#313244"
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: root.open ? "" : ""
|
||||
color: root.open ? "#1e1e2e" : "#cdd6f4"
|
||||
font.pixelSize: 14
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: root.open = !root.open
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
}
|
||||
}
|
||||
|
||||
// Revealed actions
|
||||
Item {
|
||||
id: menuReveal
|
||||
width: root.open ? actionRow.implicitWidth + 8 : 0
|
||||
height: 26
|
||||
clip: true
|
||||
|
||||
Behavior on width { NumberAnimation { duration: 200; easing.type: Easing.InOutQuad } }
|
||||
|
||||
Row {
|
||||
id: actionRow
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: 4
|
||||
x: 4
|
||||
|
||||
// Lock
|
||||
PowerBtn { icon: ""; onActivated: run(["hyprlock"]) }
|
||||
// Reboot
|
||||
PowerBtn { icon: ""; onActivated: run(["systemctl","reboot"]) }
|
||||
// Power off
|
||||
PowerBtn { icon: ""; onActivated: run(["systemctl","poweroff"]) }
|
||||
// Logout (exit Hyprland)
|
||||
PowerBtn { icon: ""; onActivated: run(["hyprctl","dispatch","exit"]) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function run(cmd) {
|
||||
root.open = false
|
||||
Qt.createQmlObject(
|
||||
'import Quickshell.Io; Process { command: ' +
|
||||
JSON.stringify(cmd) + '; running: true }',
|
||||
root)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user