# shellcheck shell=dash disable=SC3045

___X_CMD_RUNMODE=5
. "${HOME}/.x-cmd.root/X"

___x_cmd_tmux_xsh_start_shell(){
    ___X_CMD_TMUX_EXEC="$___X_CMD_TMUX_EXEC" "${SHELL:-sh}" -l -i
}

# _start()(
#     trap -- "return" INT
#     eval "$___X_CMD_TMUX_EXEC"
#     trap -- "" INT
# )

_shellstart()(
    bash -ic "$___X_CMD_TMUX_EXEC"
)

[ -z "${BASH_VERSION}${ZSH_VERSION}" ] || {
    export -f _shellstart
    # export -f _start
}

___x_cmd_tmux_xsh_mainloop_body_ui(){
    clear
    ___x_cmd ui select idx,text \
        "Please select: (If you want to exit. Using tmux shortcut \`ctrl-b x\` to kill the panel.)" \
        "Run the Command: $___X_CMD_TMUX_EXEC"  \
        "Start the $SHELL interactively"        \
        "exit"  \
        || true
}

___x_cmd_tmux_xsh_mainloop_body()(
    trap "return" INT
    local idx=""
    local text=""
    ___x_cmd_tmux_xsh_mainloop_body_ui
    case "$idx" in
        1)  clear; _shellstart ;;
        2)  clear; ___x_cmd_tmux_xsh_start_shell ;;
        3)  return 1
    esac
)

___x_cmd_tmux_xsh_mainloop(){
    _shellstart
    while ___x_cmd_tmux_xsh_mainloop_body; do
        :
    done
}

___x_cmd_tmux_xsh_mainloop
