summaryrefslogtreecommitdiff
path: root/raveos-gnome-theme
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-gnome-theme')
-rw-r--r--raveos-gnome-theme/.SRCINFO11
-rw-r--r--raveos-gnome-theme/PKGBUILD6
-rwxr-xr-xraveos-gnome-theme/raveos-gnome-apply.sh13
-rw-r--r--raveos-gnome-theme/raveos-gnome-idle-blank101
-rw-r--r--raveos-gnome-theme/raveos-idle-blank.desktop8
5 files changed, 129 insertions, 10 deletions
diff --git a/raveos-gnome-theme/.SRCINFO b/raveos-gnome-theme/.SRCINFO
index a7cea12..a9dce51 100644
--- a/raveos-gnome-theme/.SRCINFO
+++ b/raveos-gnome-theme/.SRCINFO
@@ -1,17 +1,18 @@
pkgbase = raveos-gnome-theme
- pkgdesc = RaveOS GNOME theme payload and modern cascading installer
+ pkgdesc = RaveOS GNOME theme payload and installer
pkgver = 1.0.0
- pkgrel = 1
+ pkgrel = 8
url = https://raveos.local
install = raveos-gnome-theme.install
arch = any
license = custom
- conflicts = raveos-plasma-theme
- conflicts = raveos-hyprland-theme
- conflicts = raveos-cosmic-theme
depends = raveos-sddm-theme
depends = dconf
optdepends = fastfetch: terminál üdvözlő (profile.d script indítja)
+ conflicts = raveos-plasma-theme
+ conflicts = raveos-hyprland-theme
+ conflicts = raveos-cosmic-theme
+ conflicts = yaru-gtk-theme
options = !debug
pkgname = raveos-gnome-theme
diff --git a/raveos-gnome-theme/PKGBUILD b/raveos-gnome-theme/PKGBUILD
index 9718552..ac75063 100644
--- a/raveos-gnome-theme/PKGBUILD
+++ b/raveos-gnome-theme/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=raveos-gnome-theme
pkgver=1.0.0
-pkgrel=5
+pkgrel=8
pkgdesc="RaveOS GNOME theme payload and installer"
arch=('any')
url="https://raveos.local"
@@ -65,6 +65,10 @@ package() {
install -Dm755 "${startdir}/raveos-gnome-apply.sh" \
"${pkgdir}/usr/lib/raveos-gnome-theme/auto-apply.sh"
+ install -Dm755 "${startdir}/raveos-gnome-idle-blank" \
+ "${pkgdir}/usr/lib/raveos-gnome-theme/idle-blank"
+ install -Dm644 "${startdir}/raveos-idle-blank.desktop" \
+ "${pkgdir}/etc/xdg/autostart/raveos-idle-blank.desktop"
install -Dm644 "${startdir}/raveos-gnome-theme-apply.service" \
"${pkgdir}/usr/lib/systemd/system/raveos-gnome-theme-apply.service"
}
diff --git a/raveos-gnome-theme/raveos-gnome-apply.sh b/raveos-gnome-theme/raveos-gnome-apply.sh
index 7b8c1f1..1b9d2a3 100755
--- a/raveos-gnome-theme/raveos-gnome-apply.sh
+++ b/raveos-gnome-theme/raveos-gnome-apply.sh
@@ -112,10 +112,15 @@ while IFS=: read -r user _ uid gid _ home shell; do
ensure_bashrc_hook "${home}/.bashrc"
echo "1" > "${home}/.config/raveos/gnome-migrated"
- chown -R "${uid}:${gid}" \
- "${home}/.config" \
- "${home}/.local" \
- "${home}/.bashrc" 2>/dev/null || true
+ chown "${uid}:${gid}" "${home}/.bashrc" "${home}/.config/mimeapps.list" 2>/dev/null || true
+ chown "${uid}:${gid}" "${home}/.config" 2>/dev/null || true
+ for d in \
+ .config/kitty \
+ .config/fastfetch \
+ .config/burn-my-windows \
+ .config/raveos; do
+ [[ -e "${home}/${d}" ]] && chown -R "${uid}:${gid}" "${home}/${d}" 2>/dev/null || true
+ done
done < /etc/passwd
diff --git a/raveos-gnome-theme/raveos-gnome-idle-blank b/raveos-gnome-theme/raveos-gnome-idle-blank
new file mode 100644
index 0000000..06ee224
--- /dev/null
+++ b/raveos-gnome-theme/raveos-gnome-idle-blank
@@ -0,0 +1,101 @@
+#!/usr/bin/env python3
+import os
+import sys
+
+import gi
+
+gi.require_version("Gio", "2.0")
+from gi.repository import Gio, GLib
+
+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"
+POLL_MS = 2000
+WAKE_MS = 1500
+
+
+def name_has_owner(bus, name):
+ try:
+ res = bus.call_sync(
+ "org.freedesktop.DBus",
+ "/org/freedesktop/DBus",
+ "org.freedesktop.DBus",
+ "NameHasOwner",
+ GLib.Variant("(s)", (name,)),
+ 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
+
+ try:
+ bus = Gio.bus_get_sync(Gio.BusType.SESSION, None)
+ except GLib.Error:
+ return 0
+
+ if name_has_owner(bus, "org.gnome.Shell.ScreenShield"):
+ return 0
+
+ settings = Gio.Settings.new("org.gnome.desktop.session")
+ state = {"off": False}
+
+ def set_power(mode):
+ bus.call_sync(
+ DISPLAY_BUS,
+ DISPLAY_PATH,
+ "org.freedesktop.DBus.Properties",
+ "Set",
+ GLib.Variant(
+ "(ssv)",
+ (DISPLAY_BUS, "PowerSaveMode", GLib.Variant("i", mode)),
+ ),
+ None,
+ Gio.DBusCallFlags.NONE,
+ 2000,
+ None,
+ )
+
+ def get_idle_ms():
+ res = bus.call_sync(
+ IDLE_BUS,
+ IDLE_PATH,
+ IDLE_BUS,
+ "GetIdletime",
+ None,
+ None,
+ Gio.DBusCallFlags.NONE,
+ 2000,
+ None,
+ )
+ return int(res.unpack()[0])
+
+ def tick():
+ try:
+ delay = settings.get_uint("idle-delay")
+ idle = get_idle_ms()
+ if delay > 0 and idle >= delay * 1000 and not state["off"]:
+ set_power(3)
+ state["off"] = True
+ elif state["off"] and idle < WAKE_MS:
+ set_power(0)
+ state["off"] = False
+ except GLib.Error:
+ pass
+ return True
+
+ GLib.timeout_add(POLL_MS, tick)
+ GLib.MainLoop().run()
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/raveos-gnome-theme/raveos-idle-blank.desktop b/raveos-gnome-theme/raveos-idle-blank.desktop
new file mode 100644
index 0000000..1475aa4
--- /dev/null
+++ b/raveos-gnome-theme/raveos-idle-blank.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=RaveOS Idle Blank
+Comment=Kikapcsolja a kijelzot idle eseten (SDDM-es GNOME-hoz)
+Exec=/usr/lib/raveos-gnome-theme/idle-blank
+Terminal=false
+NoDisplay=true
+X-GNOME-Autostart-enabled=true