start-ui 1.1 KB

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