#!/usr/bin/env bash set -euo pipefail url="${DSH_WEB_URL:-http://127.0.0.1:3080/}" profile="${DSH_FIREFOX_PROFILE:-$HOME/.local/share/dsh-app-firefox}" log="$profile/dsh-web.log" mkdir -p "$profile" kiosk=0 [[ "${1:-}" == "--kiosk" ]] && kiosk=1 if ! curl --fail --silent --output /dev/null "$url" 2>/dev/null; then if systemctl --user cat dsh-web.service >/dev/null 2>&1; then systemctl --user start dsh-web.service else nohup dsh web --no-open --port 3080 >"$log" 2>&1 & fi for _ in $(seq 1 60); do curl --fail --silent --output /dev/null "$url" 2>/dev/null && break sleep 1 done fi export MOZ_ENABLE_WAYLAND=1 unset GDK_BACKEND arguments=(--no-remote --new-instance --profile "$profile" --name dsh-app) if [[ "$kiosk" == 1 ]]; then exec firefox "${arguments[@]}" --kiosk "$url" fi exec firefox "${arguments[@]}" --new-window "$url"