diff options
Diffstat (limited to 'raveos-gnome-theme')
| -rw-r--r-- | raveos-gnome-theme/.SRCINFO | 11 | ||||
| -rw-r--r-- | raveos-gnome-theme/PKGBUILD | 6 | ||||
| -rwxr-xr-x | raveos-gnome-theme/raveos-gnome-apply.sh | 13 | ||||
| -rw-r--r-- | raveos-gnome-theme/raveos-gnome-idle-blank | 101 | ||||
| -rw-r--r-- | raveos-gnome-theme/raveos-idle-blank.desktop | 8 |
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 |