sidebar: make gamemode update properly

This commit is contained in:
end-4
2025-06-21 03:00:01 +02:00
parent e4be9852a3
commit ddcf13678d
@@ -6,19 +6,27 @@ import Quickshell.Io
import Quickshell.Hyprland
QuickToggleButton {
property bool enabled: false
id: root
buttonIcon: "gamepad"
toggled: enabled
toggled: toggled
onClicked: {
enabled = !enabled
if (enabled) {
root.toggled = !root.toggled
if (root.toggled) {
Quickshell.execDetached(["bash", "-c", `hyprctl --batch "keyword animations:enabled 0; keyword decoration:shadow:enabled 0; keyword decoration:blur:enabled 0; keyword general:gaps_in 0; keyword general:gaps_out 0; keyword general:border_size 1; keyword decoration:rounding 0; keyword general:allow_tearing 1"`])
} else {
Quickshell.execDetached(["hyprctl", "reload"])
}
}
Process {
id: fetchActiveState
running: true
command: ["bash", "-c", `test "$(hyprctl getoption animations:enabled -j | jq ".int")" -ne 0`]
onExited: (exitCode, exitStatus) => {
console.log("Game mode toggle exited with code:", exitCode, "and status:", exitStatus)
root.toggled = exitCode !== 0 // Inverted because enabled = nonzero exit
}
}
StyledToolTip {
content: qsTr("Game mode")
}