From 608b638414fee4f2e4963dacc2e5f1f212781556 Mon Sep 17 00:00:00 2001 From: Nippy Date: Fri, 26 Jun 2026 18:23:34 +0200 Subject: hypr gtk theme update --- raveos-hyprland-theme/PKGBUILD | 12 ++++- raveos-hyprland-theme/raveos-hyprland-apply.sh | 3 ++ .../raveos-hyprland-session-init.service | 13 +++++ .../raveos-hyprland-session-init.sh | 62 ++++++++++++++++++++++ 4 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 raveos-hyprland-theme/raveos-hyprland-session-init.service create mode 100644 raveos-hyprland-theme/raveos-hyprland-session-init.sh diff --git a/raveos-hyprland-theme/PKGBUILD b/raveos-hyprland-theme/PKGBUILD index 510765d..b5be813 100644 --- a/raveos-hyprland-theme/PKGBUILD +++ b/raveos-hyprland-theme/PKGBUILD @@ -10,7 +10,7 @@ pkgname=raveos-hyprland-theme pkgver=0.0.0 -pkgrel=46 +pkgrel=48 pkgdesc="RaveOS Hyprland theme payload and installer (includes DankMaterialShell)" arch=('any') url="https://raveos.local" @@ -69,7 +69,15 @@ package() { install -Dm755 "${startdir}/raveos-hyprland-apply.sh" \ "${pkgdir}/usr/lib/raveos-hyprland-theme/auto-apply.sh" - # systemd service: egyszer fut (ConditionPathExists=!.applied guard) + # systemd system service: egyszer fut (ConditionPathExists=!.applied guard) install -Dm644 "${startdir}/raveos-hyprland-theme-apply.service" \ "${pkgdir}/usr/lib/systemd/system/raveos-hyprland-theme-apply.service" + + # session init script: user login után fut (háttérkép + GTK téma) + install -Dm755 "${startdir}/raveos-hyprland-session-init.sh" \ + "${pkgdir}/usr/lib/raveos-hyprland-theme/session-init.sh" + + # systemd user service: graphical-session.target-ben indul + install -Dm644 "${startdir}/raveos-hyprland-session-init.service" \ + "${pkgdir}/usr/lib/systemd/user/raveos-hyprland-session-init.service" } diff --git a/raveos-hyprland-theme/raveos-hyprland-apply.sh b/raveos-hyprland-theme/raveos-hyprland-apply.sh index df625e4..73e0bac 100644 --- a/raveos-hyprland-theme/raveos-hyprland-apply.sh +++ b/raveos-hyprland-theme/raveos-hyprland-apply.sh @@ -181,6 +181,9 @@ while IFS=: read -r user _ uid gid _ home shell; do # XDG user könyvtárak (Letöltések, Dokumentumok stb.) runuser -u "$user" -- xdg-user-dirs-update 2>/dev/null || true + # Session init service engedélyezése (user service) + runuser -u "$user" -- systemctl --user enable raveos-hyprland-session-init.service 2>/dev/null || true + # Tulajdonos visszaállítása chown -R "${uid}:${gid}" "$home" diff --git a/raveos-hyprland-theme/raveos-hyprland-session-init.service b/raveos-hyprland-theme/raveos-hyprland-session-init.service new file mode 100644 index 0000000..eab7679 --- /dev/null +++ b/raveos-hyprland-theme/raveos-hyprland-session-init.service @@ -0,0 +1,13 @@ +[Unit] +Description=RaveOS Hyprland session init (wallpaper + GTK theme) +After=graphical-session-pre.target +Wants=graphical-session-pre.target +ConditionEnvironment=HYPRLAND_INSTANCE_SIGNATURE + +[Service] +Type=oneshot +ExecStart=/usr/lib/raveos-hyprland-theme/session-init.sh +RemainAfterExit=yes + +[Install] +WantedBy=graphical-session.target diff --git a/raveos-hyprland-theme/raveos-hyprland-session-init.sh b/raveos-hyprland-theme/raveos-hyprland-session-init.sh new file mode 100644 index 0000000..2734ea4 --- /dev/null +++ b/raveos-hyprland-theme/raveos-hyprland-session-init.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash +# raveos-hyprland-session-init.sh +# --------------------------------- +# User session init: beállítja a háttérképet és GTK témát Hyprland alatt. +# +# Systemd user service hívja (raveos-hyprland-session-init.service). +# Csak akkor fut, ha HYPRLAND_INSTANCE_SIGNATURE be van állítva. + +set -euo pipefail + +# --------------------------------------------------------------------------- +# Várakozás Hyprland ready jelzésére +# --------------------------------------------------------------------------- +TIMEOUT=30 +ELAPSED=0 +while [[ -z "${HYPRLAND_INSTANCE_SIGNATURE:-}" ]]; do + if (( ELAPSED >= TIMEOUT )); then + echo "Hiba: HYPRLAND_INSTANCE_SIGNATURE nem érkezett ${TIMEOUT}s alatt." >&2 + exit 1 + fi + sleep 1 + (( ELAPSED++ )) +done + +# --------------------------------------------------------------------------- +# Háttérkép beállítása (hyprpaper) +# --------------------------------------------------------------------------- +setup_wallpaper() { + local wallpaper="${HOME}/.config/background.jpg" + local hypr_conf="${HOME}/.config/hypr/hyprpaper.conf" + + if [[ ! -f "${wallpaper}" ]]; then + echo "Nincs háttérkép: ${wallpaper}" >&2 + return 1 + fi + + cat > "${hypr_conf}" <<-EOF +preload = ${wallpaper} +wallpaper = ,${wallpaper} +splash = false +EOF + + if ! pgrep -x hyprpaper >/dev/null 2>&1; then + hyprpaper & + disown + sleep 2 + fi +} + +# --------------------------------------------------------------------------- +# GTK téma beállítása +# --------------------------------------------------------------------------- +setup_gtk() { + gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-olive-dark' + gsettings set org.gnome.desktop.interface icon-theme 'Adwaitaru-olive' +} + +# --------------------------------------------------------------------------- +# Futtatás +# --------------------------------------------------------------------------- +setup_wallpaper +setup_gtk -- cgit v1.3