#!/bin/bash
# ============================================================
#  打开直播展示层 —— 300 × 800 深色面板
#
#  双击本文件，会用一个「无边框窗口」打开展示层，
#  窗口尺寸正好 300×800，没有地址栏和标签页，
#  在抖音直播伴侣里直接「窗口捕获」这个窗口就能用。
#
#  想换地址（比如以后上了域名）：改下面 SERVER 这一行。
#  想在别的电脑上用：把整个 genshin-queue 文件夹拷过去，双击就行。
# ============================================================

cd "$(dirname "$0")" || exit 1

SERVER="${GQ_SERVER:-http://124.222.86.241:8787}"
URL="$SERVER/overlay"
W=300
H=800

echo ""
echo "  幽境危战 · 直播展示层"
echo "  ────────────────────────────────"
echo "  地址：$URL"
echo "  尺寸：${W} × ${H}"
echo ""

# ---- 找一个 Chromium 内核浏览器（只有它能开无边框窗口）----
BROWSER=""
for p in \
  "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" \
  "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" \
  "/Applications/Chromium.app/Contents/MacOS/Chromium" \
  "$HOME/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ; do
  if [ -x "$p" ]; then BROWSER="$p"; break; fi
done

if [ -z "$BROWSER" ]; then
  echo "  ❌ 没找到 Chrome / Edge / Brave 浏览器"
  echo ""
  echo "  这个脚本需要一个 Chromium 内核的浏览器，才能开"
  echo "  「没有地址栏、尺寸正好 300×800」的窗口。"
  echo ""
  echo "  两个办法："
  echo "    1) 装一个 Google Chrome（免费）：https://www.google.com/chrome/"
  echo "    2) 不用脚本，直接用 Safari/Edge 打开："
  echo "       $URL"
  echo "       然后自己把窗口拖到差不多 300×800 —— 脚本之外的唯一区别"
  echo "       就是窗口会带地址栏，抓画面时记得只框住面板那一块。"
  echo ""
  read -r -p "  按回车关闭…" _
  exit 1
fi

echo "  浏览器：$(basename "$BROWSER")"

# ---- 先试着关掉可能已经在跑的旧展示窗 ----
# app 模式下窗口标题就是页面标题，用 pkill 匹配 URL 更可靠
OLD=$(pgrep -f -- "--app=$URL" 2>/dev/null)
if [ -n "$OLD" ]; then
  echo "  发现已经开着一个，先关掉重开…"
  # shellcheck disable=SC2086
  kill $OLD 2>/dev/null
  sleep 1
fi

echo "  正在打开…"
echo ""

# ---- 开一个无边框窗口 ----
# --app            去掉地址栏/标签页，看起来就是一个面板
# --window-size    精确尺寸
# --window-position 靠右上角放，方便你拖到想要的位置
# 后面三个 disable  *** 直播必开 ***
#   Chrome 默认会检测"看不见的窗口"（被游戏挡住、切了焦点）并暂停它的渲染来省电，
#   结果就是直播伴侣抓到的画面定格不动。这三个参数关掉这个行为，
#   窗口就算被完全挡住也照常滚动。
"$BROWSER" \
  --app="$URL" \
  --window-size=$W,$H \
  --window-position=40,80 \
  --no-first-run \
  --no-default-browser-check \
  --disable-backgrounding-occluded-windows \
  --disable-renderer-backgrounding \
  --disable-background-timer-throttling \
  --disable-features=Translate \
  --user-data-dir="$HOME/.genshin-queue-display" \
  >/dev/null 2>&1 &

sleep 3

echo "  ✅ 展示层应该已经打开了"
echo ""
echo "  ────────────────────────────────"
echo "  接下来在抖音直播伴侣里："
echo "    添加素材 → 窗口 → 选「幽境危战 · 排队」这个窗口"
echo "    拖到画面角落，调好大小就行了"
echo ""
echo "  这个窗口不用抠图 —— 它本身就是一块深色面板。"
echo "  窗口内容会自动跟着控制台变，不用刷新。"
echo ""
echo "  关掉展示层：直接关那个小窗口，或者在直播伴侣里删掉素材。"
echo ""
read -r -p "  按回车关闭本窗口（不影响展示层）…" _
