start-ui 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env bash
  2. MODE=$1
  3. if [ "x$MODE" == "xdaemon" ]; then
  4. while true; do bash; done
  5. exit
  6. fi
  7. if [ "x$TMUXCMD" = "x" ]; then
  8. export TMUXCMD="tmux -L MUD"
  9. fi
  10. SESSION=MUD
  11. function create-ui() {
  12. echo 正在生成 UI...
  13. HEIGHT=$(tput lines || ( [[ "x$LINES" != "x" ]] && echo $LINES ) || echo 30)
  14. HEIGHT=$(expr $HEIGHT - 1 - 1 - 1 - 6)
  15. # 创建一个标准会话
  16. $TMUXCMD new-session -d -s $SESSION
  17. $TMUXCMD new-window -t $SESSION
  18. $TMUXCMD send-keys -t $SESSION "sleep 1; clear; doc docs/tmux.md"
  19. $TMUXCMD send-keys -t $SESSION Enter
  20. $TMUXCMD select-window -t $SESSION:0
  21. $TMUXCMD send-keys -t $SESSION "sleep 0.5; clear; doc HOW-TO-PLAY.md"
  22. $TMUXCMD send-keys -t $SESSION Enter
  23. echo UI 已创建。
  24. }
  25. # 停顿一下,等待终端状态同步。
  26. echo 正在打开终端...
  27. sleep 0.5;
  28. # 如果是首次启动,则先创建 UI。否则优先连接到已有的会话,继续之前的状态。
  29. if ! $TMUXCMD has-session 2>/dev/null; then
  30. create-ui;
  31. fi
  32. echo 正在连接 UI...
  33. exec $TMUXCMD attach-session -d -t $SESSION