forked from Shinonome/dots-hyprland
sidebar: make gamemode update properly
This commit is contained in:
@@ -6,19 +6,27 @@ import Quickshell.Io
|
|||||||
import Quickshell.Hyprland
|
import Quickshell.Hyprland
|
||||||
|
|
||||||
QuickToggleButton {
|
QuickToggleButton {
|
||||||
property bool enabled: false
|
id: root
|
||||||
buttonIcon: "gamepad"
|
buttonIcon: "gamepad"
|
||||||
toggled: enabled
|
toggled: toggled
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
enabled = !enabled
|
root.toggled = !root.toggled
|
||||||
if (enabled) {
|
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"`])
|
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 {
|
} else {
|
||||||
Quickshell.execDetached(["hyprctl", "reload"])
|
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 {
|
StyledToolTip {
|
||||||
content: qsTr("Game mode")
|
content: qsTr("Game mode")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user