#!/bin/bash

# Wait for DWS to be started
while (systemctl -q is-enabled duetwebserver.service) && !(systemctl -q is-active duetwebserver.service); do
	sleep 1
done

# Start preinstalled browser but prefer Chromium
if [ -x /usr/bin/chromium-browser ]; then
	if (! pgrep chromium > /dev/null); then
		rm -f ~/.config/chromium/SingletonLock
		sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
		sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
	fi
	chromium-browser --app=http://localhost --app-auto-launched --start-maximized --start-fullscreen &
elif [ -x /usr/bin/firefox ]; then
	firefox --kiosk --new-window http://localhost
else
	xdg-open http://localhost
fi
pid=$!

# Focus other windows if wmctrl is preinstalled (not the case on Bookworm)
if [ -x /usr/bin/wmctrl ]; then
	# Wait for DWC to be started
	while [ -z "$(wmctrl -l | cut -d ' ' -f 5- | grep -e "Duet Web Control" -e "$(hostname)")" ]; do
			sleep 1
	done
	sleep 2

	# Focus other windows
	wmctrl -l | cut -d ' ' -f 5- | grep -v -e "Duet Web Control" -e "$(hostname)" | while read window; do
			if [ ! -z "$window" ]; then
					echo "Focusing $window"
					wmctrl -R "$window"
			fi
	done
fi

# Wait for Chromium to be closed again
wait $pid
