#!/bin/bash
set -e
export _APPDIR="/usr/lib/mailspring"
export CHROME_DESKTOP="mailspring.desktop"
export LD_LIBRARY_PATH="${_APPDIR}/lib:${LD_LIBRARY_PATH}"
if [[ -f "${_APPDIR}/app.asar" ]]; then
	_RUNNAME="${_APPDIR}/app.asar"
elif [[ -d "${_APPDIR}/app" ]]; then
	_RUNNAME="${_APPDIR}/app"
elif [[ -d "${_APPDIR}/app.asar.unpacked" ]]; then
	_RUNNAME="${_APPDIR}/app.asar.unpacked"
fi
_SANDBOX_ARG=()
if [[ "${EUID}" -eq 0 ]] && [[ "${ELECTRON_RUN_AS_NODE}" != "1" ]]; then
	_SANDBOX_ARG=("--no-sandbox")
fi
_ozone_var="${_APPDIR##*/}"
_ozone_var="${_ozone_var^^}"
_ozone_var="${_ozone_var//[^A-Z0-9_]/_}_OZONE_PLATFORM"
_OZONE_HINT="${!_ozone_var:-x11}"
_OZONE_ARG=()
case "${_OZONE_HINT}" in
x11)
	_OZONE_ARG=("--ozone-platform=x11")
	;;
wayland)
	_OZONE_ARG=("--enable-features=UseOzonePlatform" "--ozone-platform=wayland")
	;;
auto)
	:
	;;
*)
	echo "${0##*/}: Unknown Ozone platform '${_OZONE_HINT}' (available: x11|wayland|auto), falling back to x11" >&2
	_OZONE_ARG=("--ozone-platform=x11")
	;;
esac
exec electron44 "${_SANDBOX_ARG[@]}" "${_OZONE_ARG[@]}" --require "${_APPDIR}/mailspring.js" --app "${_RUNNAME}" "$@"