#!/bin/sh # Syncs noctalia theme to /var/lib/noctalia-greeter-theme/ for the _greeter user. export HOME=/home/moze export USER=moze THEME_DIR="/var/lib/noctalia-greeter-theme" COLORS="$HOME/.config/noctalia/colors.json" WALLPAPERS_JSON="$HOME/.cache/noctalia/wallpapers.json" do_sync() { if [ -f "$COLORS" ]; then cp -f "$COLORS" "$THEME_DIR/colors.json" 2>/dev/null chmod 644 "$THEME_DIR/colors.json" 2>/dev/null fi if [ -f "$WALLPAPERS_JSON" ]; then WP=$(python3 -c " import json, sys try: d = json.load(open('$WALLPAPERS_JSON')) m = d.get('wallpapers', {}) for s in ['eDP-1', 'DP-1'] + list(m.keys()): if s in m: p = m[s].get('dark') or m[s].get('light') or '' if p: print(p) sys.exit(0) fb = d.get('defaultWallpaper', '') if fb: print(fb) except Exception as e: sys.stderr.write(str(e) + chr(10)) " 2>/dev/null) if [ -n "$WP" ] && [ -f "$WP" ]; then cp -f "$WP" "$THEME_DIR/wallpaper.jpg" 2>/dev/null chmod 644 "$THEME_DIR/wallpaper.jpg" 2>/dev/null fi fi } do_sync exec inotifywait -m -q \ -e close_write,moved_to,create \ "$HOME/.config/noctalia/" \ "$HOME/.cache/noctalia/" 2>/dev/null | while IFS= read -r _line; do sleep 0.3 do_sync done