mirror of
https://github.com/belsabbagh/dotfiles.git
synced 2026-04-11 17:47:09 +00:00
quickshell and hyprland additions
This commit is contained in:
76
.config/quickshell/caelestia/services/GameMode.qml
Normal file
76
.config/quickshell/caelestia/services/GameMode.qml
Normal file
@@ -0,0 +1,76 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user