summaryrefslogtreecommitdiff
path: root/raveos-gnome-theme
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-gnome-theme')
-rw-r--r--raveos-gnome-theme/00-raveos2
-rw-r--r--raveos-gnome-theme/99_raveos-gnome.gschema.override2
-rw-r--r--raveos-gnome-theme/PKGBUILD2
-rw-r--r--raveos-gnome-theme/raveos-gnome-idle-blank23
-rw-r--r--raveos-gnome-theme/raveos-gnome-theme.install6
5 files changed, 32 insertions, 3 deletions
diff --git a/raveos-gnome-theme/00-raveos b/raveos-gnome-theme/00-raveos
index 7ee8320..9bef8d5 100644
--- a/raveos-gnome-theme/00-raveos
+++ b/raveos-gnome-theme/00-raveos
@@ -71,7 +71,7 @@ primary-color='#241f31'
secondary-color='#000000'
[org/gnome/desktop/session]
-idle-delay=uint32 60
+idle-delay=uint32 300
[org/gnome/desktop/wm/keybindings]
close=['<Super>q']
diff --git a/raveos-gnome-theme/99_raveos-gnome.gschema.override b/raveos-gnome-theme/99_raveos-gnome.gschema.override
index cdcaa58..285826a 100644
--- a/raveos-gnome-theme/99_raveos-gnome.gschema.override
+++ b/raveos-gnome-theme/99_raveos-gnome.gschema.override
@@ -35,7 +35,7 @@ dynamic-workspaces=true
numlock-state=true
[org.gnome.desktop.session]
-idle-delay=uint32 900
+idle-delay=uint32 300
[org.gnome.settings-daemon.plugins.power]
power-button-action='interactive'
diff --git a/raveos-gnome-theme/PKGBUILD b/raveos-gnome-theme/PKGBUILD
index 2fc26c0..ffbdf9c 100644
--- a/raveos-gnome-theme/PKGBUILD
+++ b/raveos-gnome-theme/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=raveos-gnome-theme
pkgver=1.0.0
-pkgrel=9
+pkgrel=10
pkgdesc="RaveOS GNOME theme payload and installer"
arch=('any')
url="https://raveos.local"
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:
diff --git a/raveos-gnome-theme/raveos-gnome-theme.install b/raveos-gnome-theme/raveos-gnome-theme.install
index dedef0b..796b2b4 100644
--- a/raveos-gnome-theme/raveos-gnome-theme.install
+++ b/raveos-gnome-theme/raveos-gnome-theme.install
@@ -13,14 +13,20 @@ _enable_apply_service() {
fi
}
+_restart_idle_blank() {
+ pkill -f '/usr/lib/raveos-gnome-theme/idle-blank' >/dev/null 2>&1 || true
+}
+
post_install() {
_update_system_configs
_enable_apply_service
+ _restart_idle_blank
}
post_upgrade() {
_update_system_configs
_enable_apply_service
+ _restart_idle_blank
}
post_remove() {