summaryrefslogtreecommitdiff
path: root/raveos-gnome-theme/raveos-gnome-idle-blank
diff options
context:
space:
mode:
authorNippy <nippy@Nippy-Mac-mini.local>2026-09-26 18:21:21 +0200
committerNippy <nippy@Nippy-Mac-mini.local>2026-09-26 18:21:21 +0200
commita755216ccb467a31cd58eef5ae7c23e084f1750c (patch)
tree6a70ad0d9ecf818945e5ef0c927d534967daf19f /raveos-gnome-theme/raveos-gnome-idle-blank
parentf5a18d3660b3e645c54ca0faf13080830b41c2be (diff)
downloadRaveOS-PKGBUILD-a755216ccb467a31cd58eef5ae7c23e084f1750c.tar.gz
RaveOS-PKGBUILD-a755216ccb467a31cd58eef5ae7c23e084f1750c.zip
fix desktop
Diffstat (limited to 'raveos-gnome-theme/raveos-gnome-idle-blank')
-rw-r--r--raveos-gnome-theme/raveos-gnome-idle-blank23
1 files changed, 23 insertions, 0 deletions
diff --git a/raveos-gnome-theme/raveos-gnome-idle-blank b/raveos-gnome-theme/raveos-gnome-idle-blank
index 06ee224..44425f9 100644
--- a/raveos-gnome-theme/raveos-gnome-idle-blank
+++ b/raveos-gnome-theme/raveos-gnome-idle-blank
@@ -11,6 +11,9 @@ DISPLAY_BUS = "org.gnome.Mutter.DisplayConfig"
DISPLAY_PATH = "/org/gnome/Mutter/DisplayConfig"
IDLE_BUS = "org.gnome.Mutter.IdleMonitor"
IDLE_PATH = "/org/gnome/Mutter/IdleMonitor/Core"
+SESSION_BUS = "org.gnome.SessionManager"
+SESSION_PATH = "/org/gnome/SessionManager"
+IDLE_INHIBIT_FLAG = 8
POLL_MS = 2000
WAKE_MS = 1500
@@ -33,6 +36,24 @@ def name_has_owner(bus, name):
return False
+def is_idle_inhibited(bus):
+ try:
+ res = bus.call_sync(
+ SESSION_BUS,
+ SESSION_PATH,
+ SESSION_BUS,
+ "IsInhibited",
+ GLib.Variant("(u)", (IDLE_INHIBIT_FLAG,)),
+ None,
+ Gio.DBusCallFlags.NONE,
+ 2000,
+ None,
+ )
+ return bool(res.unpack()[0])
+ except GLib.Error:
+ return False
+
+
def main():
if "GNOME" not in os.environ.get("XDG_CURRENT_DESKTOP", ""):
return 0
@@ -83,6 +104,8 @@ def main():
delay = settings.get_uint("idle-delay")
idle = get_idle_ms()
if delay > 0 and idle >= delay * 1000 and not state["off"]:
+ if is_idle_inhibited(bus):
+ return True
set_power(3)
state["off"] = True
elif state["off"] and idle < WAKE_MS: