#!/bin/bash
# Revision: 2
# One-shot: set desktop wallpaper for labwc (swaybg) and persist via labwc autostart, then remove self.
# Runs as user pi at first login. Logs to /var/log/first-boot.log.
FIRST_BOOT_LOG="/var/log/first-boot.log"
BASE="$(basename "$0" .sh)"
log() { echo "[$(date -Iseconds)] [$BASE] $*" >> "$FIRST_BOOT_LOG" 2>/dev/null || true; }

WALLPAPER="/usr/share/rpd-wallpaper/splash.png"
LABWC_AUTOSTART="$HOME/.config/labwc/autostart"

log "started (labwc/swaybg)"
log "waiting 8s for compositor ..."
sleep 8

if [[ ! -f "$WALLPAPER" ]]; then
  log "WARNING: wallpaper not found $WALLPAPER"
else
  mkdir -p "$(dirname "$LABWC_AUTOSTART")"
  if [[ ! -f "$LABWC_AUTOSTART" ]]; then
    echo '#!/bin/sh' > "$LABWC_AUTOSTART"
    chmod +x "$LABWC_AUTOSTART"
  fi
  if ! grep -q 'swaybg.*splash.png' "$LABWC_AUTOSTART" 2>/dev/null; then
    echo "swaybg -i $WALLPAPER -m fill &" >> "$LABWC_AUTOSTART"
    log "added swaybg to labwc autostart"
  fi
  if command -v swaybg &>/dev/null; then
    log "applying wallpaper now: $WALLPAPER"
    swaybg -i "$WALLPAPER" -m fill &
  else
    log "WARNING: swaybg not installed"
  fi
fi

log "removing one-shot desktop and script"
rm -f "$HOME/.config/autostart/${BASE}.desktop" "$HOME/${BASE}.sh"
log "finished"
