Altux

April 10, 2026 · View on GitHub

       d8888 888 888
      d88888 888 888
     d88P888 888 888
    d88P 888 888 888888 888  888 888  888
   d88P  888 888 888    888  888 `Y8bd8P'    +--------------+
  d88P   888 888 888    888  888   X88K     /  Alt         /
 d8888888888 888 Y88b.  Y88b 888 .d8""8b.  /         tux  /
d88P     888 888  "Y888  "Y88888 888  888 +--------------+

Altux

Hold the Alt key as your tmux prefix

Press Alt+c to create a window, Alt+d to detach. Alt+% to split, etc. All other native tmux keybindings are alsso ssupported

Install

Manual

mkdir -p ~/.config/tmux
curl -fLo ~/.config/tmux/altux.conf https://raw.githubusercontent.com/eduardofuncao/altux/main/altux.conf

Then in your tmux.conf:

source-file ~/.config/tmux/altux.conf

TPM

Add to your tmux.conf:

set -g @plugin 'eduardofuncao/altux'

Press prefix + I to install.

NixOS

programs.tmux = {
  enable = true;
  plugins = [
    {
      plugin = pkgs.tmuxPlugins.mkTmuxPlugin {
        pluginName = "altux";
        version = "0.1.0-beta";
        src = pkgs.fetchFromGitHub {
          owner = "eduardofuncao";
          repo = "altux";
          rev = "main";
          hash = "";  # first build fails, replace with correct hash
        };
      };
    }
  ];
};

Bindings

All bindings use the root table (bind -n). These do not interefere with your set prefix.

Panes

KeyActionDefault
M-"split verticalC-b "
M-%split horizontalC-b %
M-!break paneC-b !
M-xkill paneC-b x
M-zzoom/unzoomC-b z
M-onext paneC-b o
M-;last paneC-b ;
M-qshow pane numbersC-b q
M-mmark paneC-b m
M-Munmark paneC-b M
M-{swap pane upC-b {
M-}swap pane downC-b }
rotate windowC-b C-o (3 keys)
rotate window -DC-b M-o (conflicts M-o)
suspend clientC-b C-z (3 keys)
M-hselect pane leftC-b Left
M-jselect pane downC-b Down
M-kselect pane upC-b Up
M-lselect pane rightC-b Right
M-Upresize up 5C-b C-Up
M-Downresize down 5C-b C-Down
M-Leftresize left 5C-b C-Left
M-Rightresize right 5C-b C-Right
resize 1 cellC-b C-Arrow (covered by M-Arrow)
refresh client (dir)C-b S-Arrow (too many keys)

Layout

KeyActionDefault
M-Spacenext layoutC-b Space
M-Espread layoutC-b E
preset layoutsC-b M-1..7 (conflicts M-1..7)

Windows

KeyActionDefault
M-cnew windowC-b c
M-nnext windowC-b n
M-pprevious windowC-b p
next window -aC-b M-n (3 keys)
prev window -aC-b M-p (3 keys)
M-&kill window (confirm)C-b &
M-,rename windowC-b ,
M-.move windowC-b .
M-wwindow treeC-b w
M-ffind windowC-b f
M-'select window by indexC-b '
M-0M-9select window NC-b 0C-b 9

Sessions

KeyActionDefault
M-ssession treeC-b s
M-$rename sessionC-b $
M-ddetachC-b d
M-Dchoose clientC-b D
M-rrefresh clientC-b r
M-Lswitch to last sessionC-b L
M-(previous sessionC-b (
M-)next sessionC-b )

Copy / scrollback

KeyActionDefault
M-Entercopy modeC-b [
M-]pasteC-b ]
M-=choose bufferC-b =
M-#list buffersC-b #
M--delete bufferC-b -
M-PageUpcopy mode (scrolled up)C-b PPage

Misc

KeyActionDefault
M-:command promptC-b :
M-?list keysC-b ?
M-/describe keyC-b /
M-~message logC-b ~
M-iwindow infoC-b i
M-tclockC-b t
M-Ccustomize modeC-b C
M-Deleterefresh client (clear)C-b DC

Conflicts

These Alt keys are swallowed by tmux and won't reach your shell:

High impactM-c, M-d, M-f, M-Arrows (word/paragraph navigation in readline)

MediumM-l, M-n, M-p, M-x

LowM-h, M-j, M-k, M-t, M-Enter

All Alt+symbol keys (M-!, M-", M-#, etc.) are safe — rarely used in shells.