fix: theme application hängt nicht mehr auf frischer Installation

apply_theme() rief hyprctl (keyword + hyprpaper) und restart_waybar
ohne zu prüfen ob Hyprland läuft → hyprctl hing bis Timeout im TTY.

Fix: pgrep -x Hyprland guard vor allen hyprctl/waybar-Aufrufen.
apply_theme schreibt jetzt Config-Files (gelten beim nächsten Login),
überspringt aber Display-abhängige Kommandos.
This commit is contained in:
2026-05-27 23:02:00 +02:00
parent 06a21fb8c2
commit a76f1f3af7
2 changed files with 4 additions and 7 deletions

View File

@@ -1104,7 +1104,7 @@ EOF
return return
fi fi
if command -v hyprctl >/dev/null 2>&1; then if command -v hyprctl >/dev/null 2>&1 && pgrep -x Hyprland >/dev/null 2>&1; then
if ! pgrep -x hyprpaper >/dev/null 2>&1; then if ! pgrep -x hyprpaper >/dev/null 2>&1; then
start_detached hyprpaper start_detached hyprpaper
sleep 0.2 sleep 0.2
@@ -1134,7 +1134,7 @@ EOF
write_sddm_theme_assets write_sddm_theme_assets
apply_wallpaper apply_wallpaper
if command -v hyprctl >/dev/null 2>&1; then if command -v hyprctl >/dev/null 2>&1 && pgrep -x Hyprland >/dev/null 2>&1; then
hyprctl keyword general:col.active_border "$ACTIVE_BORDER" >/dev/null || true hyprctl keyword general:col.active_border "$ACTIVE_BORDER" >/dev/null || true
hyprctl keyword general:col.inactive_border "$INACTIVE_BORDER" >/dev/null || true hyprctl keyword general:col.inactive_border "$INACTIVE_BORDER" >/dev/null || true
fi fi
@@ -1143,7 +1143,7 @@ EOF
swaync-client -rs >/dev/null 2>&1 || true swaync-client -rs >/dev/null 2>&1 || true
fi fi
if command -v waybar >/dev/null 2>&1; then if command -v waybar >/dev/null 2>&1 && pgrep -x Hyprland >/dev/null 2>&1; then
restart_waybar restart_waybar
fi fi

View File

@@ -8,10 +8,7 @@ module_required() { return 1; }
module_should_skip() { return 1; } module_should_skip() { return 1; }
module_prereqs() { module_prereqs() {
if ! have hyprctl && ! have notify-send; then
log_warn "Neither hyprctl nor notify-send found. Theme can still be applied later."
return 0 return 0
fi
} }
module_main() { module_main() {