diff options
| author | Don Williams <don.e.williams@gmail.com> | 2025-09-20 13:44:10 -0400 |
|---|---|---|
| committer | Don Williams <don.e.williams@gmail.com> | 2025-09-20 13:44:10 -0400 |
| commit | 3da2f5e614c796372c76967afbb41a6ae5d5a41d (patch) | |
| tree | 25672fcf1ffe5c4b4b5e9dc5ea2d83269c0590e4 /config/hypr/UserScripts/WallpaperEffects.sh | |
| parent | 88f1b4d4ebbcdb58daecbbee2c0cdab791366452 (diff) | |
fix(sddm): set Backgrounds/default as primary and update fallbacks; detect themes dir (incl. NixOS) and skip prompt on read-only paths
- Prefer Backgrounds/default for simple_sddm_2; update default.jpg/png if present
- Detect SDDM themes dir under /usr/share and /run/current-system
- Avoid prompting when theme is missing or Backgrounds is not writable (e.g., NixOS)
- Skip runtime changes on NixOS since SDDM isn’t used in that config
Diffstat (limited to 'config/hypr/UserScripts/WallpaperEffects.sh')
| -rwxr-xr-x | config/hypr/UserScripts/WallpaperEffects.sh | 58 |
1 files changed, 34 insertions, 24 deletions
diff --git a/config/hypr/UserScripts/WallpaperEffects.sh b/config/hypr/UserScripts/WallpaperEffects.sh index 2ba58d0c..ac8fc0e8 100755 --- a/config/hypr/UserScripts/WallpaperEffects.sh +++ b/config/hypr/UserScripts/WallpaperEffects.sh @@ -108,31 +108,41 @@ main sleep 1 if [[ -n "$choice" ]]; then - sddm_simple="/usr/share/sddm/themes/simple_sddm_2" - if [ -d "$sddm_simple" ]; then - - # Check if yad is running to avoid multiple yad notification - if pidof yad > /dev/null; then - killall yad - fi - - if yad --info --text="Set current wallpaper as SDDM background?\n\nNOTE: This only applies to SIMPLE SDDM v2 Theme" \ - --text-align=left \ - --title="SDDM Background" \ - --timeout=5 \ - --timeout-indicator=right \ - --button="yad-yes:0" \ - --button="yad-no:1" \ - ; then + # Resolve SDDM themes directory (standard and NixOS path) + sddm_themes_dir="" + if [ -d "/usr/share/sddm/themes" ]; then + sddm_themes_dir="/usr/share/sddm/themes" + elif [ -d "/run/current-system/sw/share/sddm/themes" ]; then + sddm_themes_dir="/run/current-system/sw/share/sddm/themes" + fi - # Check if terminal exists - if ! command -v "$terminal" &>/dev/null; then - notify-send -i "$iDIR/ja.png" "Missing $terminal" "Install $terminal to enable setting of wallpaper background" - exit 1 - fi + if [ -n "$sddm_themes_dir" ]; then + sddm_simple="$sddm_themes_dir/simple_sddm_2" + + # Only prompt if theme exists and its Backgrounds directory is writable + if [ -d "$sddm_simple" ] && [ -w "$sddm_simple/Backgrounds" ]; then + # Check if yad is running to avoid multiple yad notification + if pidof yad > /dev/null; then + killall yad + fi - exec $SCRIPTSDIR/sddm_wallpaper.sh --effects - + if yad --info --text="Set current wallpaper as SDDM background?\n\nNOTE: This only applies to SIMPLE SDDM v2 Theme" \ + --text-align=left \ + --title="SDDM Background" \ + --timeout=5 \ + --timeout-indicator=right \ + --button="yad-yes:0" \ + --button="yad-no:1" \ + ; then + + # Check if terminal exists + if ! command -v "$terminal" &>/dev/null; then + notify-send -i "$iDIR/ja.png" "Missing $terminal" "Install $terminal to enable setting of wallpaper background" + exit 1 + fi + + exec "$SCRIPTSDIR/sddm_wallpaper.sh" --effects + fi fi fi -fi
\ No newline at end of file +fi |
