forked from Shinonome/dots-hyprland
55 lines
1.4 KiB
QML
55 lines
1.4 KiB
QML
pragma Singleton
|
|
import Quickshell
|
|
import qs.services
|
|
import qs.modules.common
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
function closeAllWindows() {
|
|
HyprlandData.windowList.map(w => w.pid).forEach(pid => {
|
|
Quickshell.execDetached(["kill", pid]);
|
|
});
|
|
}
|
|
|
|
function changePassword() {
|
|
Quickshell.execDetached(["bash", "-c", `${Config.options.apps.changePassword}`]);
|
|
}
|
|
|
|
function lock() {
|
|
Quickshell.execDetached(["loginctl", "lock-session"]);
|
|
}
|
|
|
|
function suspend() {
|
|
Quickshell.execDetached(["bash", "-c", "systemctl suspend || loginctl suspend"]);
|
|
}
|
|
|
|
function logout() {
|
|
closeAllWindows();
|
|
Quickshell.execDetached(["pkill", "-i", "Hyprland"]);
|
|
}
|
|
|
|
function launchTaskManager() {
|
|
Quickshell.execDetached(["bash", "-c", `${Config.options.apps.taskManager}`]);
|
|
}
|
|
|
|
function hibernate() {
|
|
Quickshell.execDetached(["bash", "-c", `systemctl hibernate || loginctl hibernate`]);
|
|
}
|
|
|
|
function poweroff() {
|
|
closeAllWindows();
|
|
Quickshell.execDetached(["bash", "-c", `systemctl poweroff || loginctl poweroff`]);
|
|
}
|
|
|
|
function reboot() {
|
|
closeAllWindows();
|
|
Quickshell.execDetached(["bash", "-c", `reboot || loginctl reboot`]);
|
|
}
|
|
|
|
function rebootToFirmware() {
|
|
closeAllWindows();
|
|
Quickshell.execDetached(["bash", "-c", `systemctl reboot --firmware-setup || loginctl reboot --firmware-setup`]);
|
|
}
|
|
}
|