From 22b356d260f77b2a4a05a39c8a4c0fd409d3f53d Mon Sep 17 00:00:00 2001 From: Tim Hämisch Date: Thu, 12 Jun 2025 14:59:55 +0200 Subject: Add shutdown, reboot, and logout actions to launcher --- modules/launcher/Actions.qml | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'modules') 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 @@ -67,6 +67,36 @@ Singleton { Colours.setMode("dark"); } }, + 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") @@ -107,6 +137,24 @@ Singleton { list.search.text = `${LauncherConfig.actionPrefix}${text} `; } + 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 -- cgit v1.2.3-freya