diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/launcher/Actions.qml | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/modules/launcher/Actions.qml b/modules/launcher/Actions.qml index 0cbc870..4d74e05 100644 --- a/modules/launcher/Actions.qml +++ b/modules/launcher/Actions.qml @@ -68,6 +68,36 @@ Singleton { } }, Action { + name: qsTr("Shutdown") + desc: qsTr("Shutdown the system") + icon: "power_settings_new" + + function onClicked(list: AppList): void { + list.visibilities.launcher = false; + shutdown.running = true; + } + }, + Action { + name: qsTr("Reboot") + desc: qsTr("Reboot the system") + icon: "cached" + + function onClicked(list: AppList): void { + list.visibilities.launcher = false; + reboot.running = true; + } + }, + Action { + name: qsTr("Logout") + desc: qsTr("Logout of the current session") + icon: "logout" + + function onClicked(list: AppList): void { + list.visibilities.launcher = false; + logout.running = true; + } + }, + Action { name: qsTr("Lock") desc: qsTr("Lock the current session") icon: "lock" @@ -108,6 +138,24 @@ Singleton { } Process { + id: shutdown + + command: ["systemctl", "poweroff"] + } + + Process { + id: reboot + + command: ["systemctl", "reboot"] + } + + Process { + id: logout + + command: ["sh", "-c", "(uwsm stop | grep -q 'Compositor is not running' && loginctl terminate-user $USER) || uwsm stop"] + } + + Process { id: lock command: ["loginctl", "lock-session"] |