Tmux: terminal multiplexer

tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

2 Likes

@EpocSquadron @TeddyDD @robertmeta

I will agree that Tmux annoying to configure, and having to have

In Bash/POSIX

# === Tmux related stuff ===
if command -v tmux &>/dev/null && [[ ! $TERM =~ screen ]] && [[ -z $TMUX ]]; then
    exec tmux -f "/home/bigdaddy/.config/tmux/tmux.conf"
fi

# to get colors right
if command -v tmux &>/dev/null && [[ ! $TERM =~ screen ]]; then
    export TERM="tmux-256color"
else
    export TERM="xterm-256color"
fi

In Fish-shell

# === Tmux related stuff ===
if test -z $TMUX && test $TERM != "screen"
    if status is-interactive
        exec tmux -f "$TMUX_DIR/tmux.conf"
    end
end

# to get colors right
if command -v tmux &>/dev/null && test "$TERM" != "screen"
    set -x $TERM "tmux-256color"
else
    set -x $TERM "xterm-256color"
end

In order for Tmux to work as intended is a bit silly. I remember the nice thing about Kitty was not having to configure Tmux, though I don’t recall why I switched to Alacritty + Tmux. I think it’s because I found no real use in being able to create kittens, that or it just frustrated the hell out of me. That and I think the keybinds I had to use for Kitty annoyed me, maybe.

The thing I’m seeing with looking at wezterm is that

  1. Configuring with a Lua file is an odd choice.
  2. Multiplexing is cool, but I really all I care to do is split the frame/window/whatever or create multiple panes. I don’t need nor know if I’d even want “domains.”

Other than that, it looks cool. I might try it for the hell of it.

Nushell is somewhat the same. I don’t see why I need the extra stuff that it provides. Though, I use Fish so it’s not like I can really talk about “unnecessary” features. :stuck_out_tongue: