#!/usr/bin/env bash

MODE=$1

if [ "x$MODE" == "xdaemon" ]; then
    while true; do bash; done
    exit
fi

mkdir -p $HOME/tmux

if [ "x$TMUXCMD" = "x" ]; then
    export TMUXCMD="tmux -S $HOME/tmux/sock"
fi

SESSION=MUD

function create-ui() {
    echo 正在生成 UI...

    HEIGHT=$(tput lines || ( [[ "x$LINES" != "x" ]] && echo $LINES ) || echo 30)
    HEIGHT=$(expr $HEIGHT - 1 - 1 - 1 - 6)

    # 创建一个标准会话
    $TMUXCMD new-session -d -s $SESSION
    $TMUXCMD new-window     -t $SESSION
    $TMUXCMD send-keys      -t $SESSION "sleep 1; clear; doc docs/tmux.md"
    $TMUXCMD send-keys      -t $SESSION Enter
    $TMUXCMD select-window  -t $SESSION:0
    $TMUXCMD send-keys      -t $SESSION "sleep 0.5; clear; doc HOW-TO-PLAY.md"
    $TMUXCMD send-keys      -t $SESSION Enter

    echo UI 已创建。
}

# 停顿一下，等待终端状态同步。
echo 正在打开终端...
$TMUXCMD -V
sleep 0.5;

# 如果是首次启动，则先创建 UI。否则优先连接到已有的会话，继续之前的状态。
if ! $TMUXCMD has-session 2>/dev/null; then
    create-ui;
fi

echo 正在连接 UI...

if [ "x$PT_TMUX_UI" == "xshare" ]; then
    exec $TMUXCMD attach-session -t $SESSION
else
    exec $TMUXCMD attach-session -d -t $SESSION
fi
