#!/bin/sh
# Shoutout to mitchweaver on gitgub for the script as a useful base for this one
# Link to exact script: https://github.com/mitchweaver/bin/blob/master/mpv/mpvbg
# There's lots of good scripts in that repository so check them all out

pkill -9 xwinwrap
cacheFile="${HOME}/.cache/mpvbg.pid"
base="/home/shockrah/Pictures/VPapes"

# Pic two random video papes
pape1=`ls "${HOME}/Pictures/VPapes" | shuf | head -n 1`
pape2=`ls "${HOME}/Pictures/VPapes" | shuf | head -n 1`
echo
while "$pape1" = "$pape2"
do
	pape2=`ls "${HOME}/Pictures/VPapes" | shuf | head -n 1`
done

mpv="mpv --wid WID --no-config --keepaspect=no --loop \
    --no-border --vd-lavc-fast --x11-bypass-compositor=no \
    --gapless-audio=yes --vo=x11 --hwdec=auto \
    --x11-name=mpvbg"

# store our pid here so we can avoid killing our background later
# Example: $ kill $(pgrep mpv | grep -v $(pgrep -P $(cat ${HOME}/.cache/mpvbg.pid)))
#           --- Here we are killing "all mpvs, except with THIS PID"
#           --- This lets us kill a video we're watching, without stopping our desktop background!


# First monitor
xwinwrap -g 1920x1080 -ni -fdt -sh rectangle -un -b -nf -ov -- $mpv "$base/$pape1" & > /dev/null 2>&1 &
echo $! > ${HOME}/.cache/mpvbg.pid
echo "$pape1" > $HOME/.cache/newbga_img

# Quick check if we even have a second monitor at all
c=`xrandr | grep ' connected' | wc -l`
if [ $c = "1" ]
then 
	exit
else
	# Second monitor
	xwinwrap -g 1920x1080+1920+0 -ni -fdt -sh rectangle -un -b -nf -ov -- $mpv "$base/$pape2" & > /dev/null 2>&1 &
	echo $! >> ${HOME}/.cache/mpvbg.pid
	echo "$pape1" >> $HOME/.cache/newbga_img
fi
