diff --git a/.config/quickshell/ii/modules/common/Persistent.qml b/.config/quickshell/ii/modules/common/Persistent.qml index e7dc68d7d..a705de098 100644 --- a/.config/quickshell/ii/modules/common/Persistent.qml +++ b/.config/quickshell/ii/modules/common/Persistent.qml @@ -11,6 +11,15 @@ Singleton { property string fileName: "states.json" property string filePath: `${root.fileDir}/${root.fileName}` + property bool ready: false + property string previousHyprlandInstanceSignature: "" + property bool isNewHyprlandInstance: previousHyprlandInstanceSignature !== states.hyprlandInstanceSignature + + onReadyChanged: { + root.previousHyprlandInstanceSignature = root.states.hyprlandInstanceSignature + root.states.hyprlandInstanceSignature = Quickshell.env("HYPRLAND_INSTANCE_SIGNATURE") || "" + } + Timer { id: fileReloadTimer interval: 100 @@ -36,6 +45,7 @@ Singleton { watchChanges: true onFileChanged: fileReloadTimer.restart() onAdapterUpdated: fileWriteTimer.restart() + onLoaded: root.ready = true onLoadFailed: error => { console.log("Failed to load persistent states file:", error); if (error == FileViewError.FileNotFound) { @@ -45,6 +55,9 @@ Singleton { adapter: JsonAdapter { id: persistentStatesJsonAdapter + + property string hyprlandInstanceSignature: "" + property JsonObject ai: JsonObject { property string model property real temperature: 0.5 diff --git a/.config/quickshell/ii/services/Idle.qml b/.config/quickshell/ii/services/Idle.qml index d45e4ed0d..db63b5bb0 100644 --- a/.config/quickshell/ii/services/Idle.qml +++ b/.config/quickshell/ii/services/Idle.qml @@ -12,10 +12,22 @@ Singleton { id: root property alias inhibit: idleInhibitor.enabled - inhibit: Persistent.states.idle.inhibit + inhibit: false + + Connections { + target: Persistent + function onReadyChanged() { + if (!Persistent.isNewHyprlandInstance) { + root.inhibit = Persistent.states.idle.inhibit + } else { + Persistent.states.idle.inhibit = root.inhibit + } + } + } function toggleInhibit() { - Persistent.states.idle.inhibit = !Persistent.states.idle.inhibit + root.inhibit = !root.inhibit + Persistent.states.idle.inhibit = root.inhibit } IdleInhibitor {