#!/bin/bash

# omarchy:summary=Set the current background image or video
# omarchy:args=<path-to-media>
# omarchy:examples=omarchy theme bg set ~/Pictures/background.png

if [[ -z $1 ]]; then
  echo "Usage: omarchy-theme-bg-set <path-to-media>" >&2
  exit 1
fi

BACKGROUND="$(realpath "$1")"
CURRENT_BACKGROUND_LINK="$HOME/.local/state/omarchy/current/background"

if [[ ! -f $BACKGROUND ]]; then
  echo "File does not exist: $BACKGROUND" >&2
  exit 1
fi

# Create symlink to the new background media
ln -nsf "$BACKGROUND" "$CURRENT_BACKGROUND_LINK"

# Update the live shell background immediately when it is running. The
# background plugin also polls this symlink, but IPC avoids the visible delay.
omarchy-shell -q background set "$BACKGROUND"
