diff --git a/quickshell/Modals/PowerMenuModal.qml b/quickshell/Modals/PowerMenuModal.qml index 781062aa..8a6473a5 100644 --- a/quickshell/Modals/PowerMenuModal.qml +++ b/quickshell/Modals/PowerMenuModal.qml @@ -352,9 +352,11 @@ DankModal { break; case Qt.Key_P: if (!(event.modifiers & Qt.ControlModifier)) { - const idx = visibleActions.indexOf("poweroff"); - startHold("poweroff", idx); - event.accepted = true; + if (visibleActions.includes("poweroff")) { + const idx = visibleActions.indexOf("poweroff"); + startHold("poweroff", idx); + event.accepted = true; + } } else { selectedIndex = (selectedIndex - 1 + visibleActions.length) % visibleActions.length; event.accepted = true; @@ -373,28 +375,40 @@ DankModal { } break; case Qt.Key_R: - startHold("reboot", visibleActions.indexOf("reboot")); - event.accepted = true; + if (visibleActions.includes("reboot")) { + startHold("reboot", visibleActions.indexOf("reboot")); + event.accepted = true; + } break; case Qt.Key_X: - startHold("logout", visibleActions.indexOf("logout")); - event.accepted = true; + if (visibleActions.includes("logout")) { + startHold("logout", visibleActions.indexOf("logout")); + event.accepted = true; + } break; case Qt.Key_L: - startHold("lock", visibleActions.indexOf("lock")); - event.accepted = true; + if (visibleActions.includes("lock")) { + startHold("lock", visibleActions.indexOf("lock")); + event.accepted = true; + } break; case Qt.Key_S: - startHold("suspend", visibleActions.indexOf("suspend")); - event.accepted = true; + if (visibleActions.includes("suspend")) { + startHold("suspend", visibleActions.indexOf("suspend")); + event.accepted = true; + } break; case Qt.Key_H: - startHold("hibernate", visibleActions.indexOf("hibernate")); - event.accepted = true; + if (visibleActions.includes("hibernate")) { + startHold("hibernate", visibleActions.indexOf("hibernate")); + event.accepted = true; + } break; case Qt.Key_D: - startHold("restart", visibleActions.indexOf("restart")); - event.accepted = true; + if (visibleActions.includes("restart")) { + startHold("restart", visibleActions.indexOf("restart")); + event.accepted = true; + } break; } } @@ -445,9 +459,11 @@ DankModal { break; case Qt.Key_P: if (!(event.modifiers & Qt.ControlModifier)) { - const idx = visibleActions.indexOf("poweroff"); - startHold("poweroff", idx); - event.accepted = true; + if (visibleActions.includes("poweroff")) { + const idx = visibleActions.indexOf("poweroff"); + startHold("poweroff", idx); + event.accepted = true; + } } else { selectedCol = (selectedCol - 1 + gridColumns) % gridColumns; selectedIndex = selectedRow * gridColumns + selectedCol; @@ -469,28 +485,40 @@ DankModal { } break; case Qt.Key_R: - startHold("reboot", visibleActions.indexOf("reboot")); - event.accepted = true; + if (visibleActions.includes("reboot")) { + startHold("reboot", visibleActions.indexOf("reboot")); + event.accepted = true; + } break; case Qt.Key_X: - startHold("logout", visibleActions.indexOf("logout")); - event.accepted = true; + if (visibleActions.includes("logout")) { + startHold("logout", visibleActions.indexOf("logout")); + event.accepted = true; + } break; case Qt.Key_L: - startHold("lock", visibleActions.indexOf("lock")); - event.accepted = true; + if (visibleActions.includes("lock")) { + startHold("lock", visibleActions.indexOf("lock")); + event.accepted = true; + } break; case Qt.Key_S: - startHold("suspend", visibleActions.indexOf("suspend")); - event.accepted = true; + if (visibleActions.includes("suspend")) { + startHold("suspend", visibleActions.indexOf("suspend")); + event.accepted = true; + } break; case Qt.Key_H: - startHold("hibernate", visibleActions.indexOf("hibernate")); - event.accepted = true; + if (visibleActions.includes("hibernate")) { + startHold("hibernate", visibleActions.indexOf("hibernate")); + event.accepted = true; + } break; case Qt.Key_D: - startHold("restart", visibleActions.indexOf("restart")); - event.accepted = true; + if (visibleActions.includes("restart")) { + startHold("restart", visibleActions.indexOf("restart")); + event.accepted = true; + } break; } } diff --git a/quickshell/Modules/Lock/LockPowerMenu.qml b/quickshell/Modules/Lock/LockPowerMenu.qml index 4afa56d5..196919cb 100644 --- a/quickshell/Modules/Lock/LockPowerMenu.qml +++ b/quickshell/Modules/Lock/LockPowerMenu.qml @@ -279,9 +279,11 @@ Rectangle { break; case Qt.Key_P: if (!(event.modifiers & Qt.ControlModifier)) { - const idx = visibleActions.indexOf("poweroff"); - startHold("poweroff", idx); - event.accepted = true; + if (visibleActions.includes("poweroff")) { + const idx = visibleActions.indexOf("poweroff"); + startHold("poweroff", idx); + event.accepted = true; + } } else { selectedIndex = (selectedIndex - 1 + visibleActions.length) % visibleActions.length; event.accepted = true; @@ -300,20 +302,28 @@ Rectangle { } break; case Qt.Key_R: - startHold("reboot", visibleActions.indexOf("reboot")); - event.accepted = true; + if (visibleActions.includes("reboot")) { + startHold("reboot", visibleActions.indexOf("reboot")); + event.accepted = true; + } break; case Qt.Key_X: - startHold("logout", visibleActions.indexOf("logout")); - event.accepted = true; + if (visibleActions.includes("logout")) { + startHold("logout", visibleActions.indexOf("logout")); + event.accepted = true; + } break; case Qt.Key_S: - startHold("suspend", visibleActions.indexOf("suspend")); - event.accepted = true; + if (visibleActions.includes("suspend")) { + startHold("suspend", visibleActions.indexOf("suspend")); + event.accepted = true; + } break; case Qt.Key_H: - startHold("hibernate", visibleActions.indexOf("hibernate")); - event.accepted = true; + if (visibleActions.includes("hibernate")) { + startHold("hibernate", visibleActions.indexOf("hibernate")); + event.accepted = true; + } break; } } @@ -364,9 +374,11 @@ Rectangle { break; case Qt.Key_P: if (!(event.modifiers & Qt.ControlModifier)) { - const idx = visibleActions.indexOf("poweroff"); - startHold("poweroff", idx); - event.accepted = true; + if (visibleActions.includes("poweroff")) { + const idx = visibleActions.indexOf("poweroff"); + startHold("poweroff", idx); + event.accepted = true; + } } else { selectedCol = (selectedCol - 1 + gridColumns) % gridColumns; selectedIndex = selectedRow * gridColumns + selectedCol; @@ -388,20 +400,28 @@ Rectangle { } break; case Qt.Key_R: - startHold("reboot", visibleActions.indexOf("reboot")); - event.accepted = true; + if (visibleActions.includes("reboot")) { + startHold("reboot", visibleActions.indexOf("reboot")); + event.accepted = true; + } break; case Qt.Key_X: - startHold("logout", visibleActions.indexOf("logout")); - event.accepted = true; + if (visibleActions.includes("logout")) { + startHold("logout", visibleActions.indexOf("logout")); + event.accepted = true; + } break; case Qt.Key_S: - startHold("suspend", visibleActions.indexOf("suspend")); - event.accepted = true; + if (visibleActions.includes("suspend")) { + startHold("suspend", visibleActions.indexOf("suspend")); + event.accepted = true; + } break; case Qt.Key_H: - startHold("hibernate", visibleActions.indexOf("hibernate")); - event.accepted = true; + if (visibleActions.includes("hibernate")) { + startHold("hibernate", visibleActions.indexOf("hibernate")); + event.accepted = true; + } break; } }