mirror of
https://github.com/belsabbagh/dotfiles.git
synced 2026-04-11 09:36:46 +00:00
77 lines
1.8 KiB
QML
77 lines
1.8 KiB
QML
pragma Singleton
|
|
|
|
import qs.services
|
|
import qs.config
|
|
import Caelestia
|
|
import Quickshell
|
|
import Quickshell.Io
|
|
import QtQuick
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
property alias enabled: props.enabled
|
|
|
|
function setDynamicConfs(): void {
|
|
Hypr.extras.applyOptions({
|
|
"animations:enabled": 0,
|
|
"decoration:shadow:enabled": 0,
|
|
"decoration:blur:enabled": 0,
|
|
"general:gaps_in": 0,
|
|
"general:gaps_out": 0,
|
|
"general:border_size": 1,
|
|
"decoration:rounding": 0,
|
|
"general:allow_tearing": 1
|
|
});
|
|
}
|
|
|
|
onEnabledChanged: {
|
|
if (enabled) {
|
|
setDynamicConfs();
|
|
if (Config.utilities.toasts.gameModeChanged)
|
|
Toaster.toast(qsTr("Game mode enabled"), qsTr("Disabled Hyprland animations, blur, gaps and shadows"), "gamepad");
|
|
} else {
|
|
Hypr.extras.message("reload");
|
|
if (Config.utilities.toasts.gameModeChanged)
|
|
Toaster.toast(qsTr("Game mode disabled"), qsTr("Hyprland settings restored"), "gamepad");
|
|
}
|
|
}
|
|
|
|
PersistentProperties {
|
|
id: props
|
|
|
|
property bool enabled: Hypr.options["animations:enabled"] === 0
|
|
|
|
reloadableId: "gameMode"
|
|
}
|
|
|
|
Connections {
|
|
target: Hypr
|
|
|
|
function onConfigReloaded(): void {
|
|
if (props.enabled)
|
|
root.setDynamicConfs();
|
|
}
|
|
}
|
|
|
|
IpcHandler {
|
|
target: "gameMode"
|
|
|
|
function isEnabled(): bool {
|
|
return props.enabled;
|
|
}
|
|
|
|
function toggle(): void {
|
|
props.enabled = !props.enabled;
|
|
}
|
|
|
|
function enable(): void {
|
|
props.enabled = true;
|
|
}
|
|
|
|
function disable(): void {
|
|
props.enabled = false;
|
|
}
|
|
}
|
|
}
|