#!/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
