Home
Name Modified Size InfoDownloads / Week
README.md 2026-05-31 21.4 kB
README.html 2026-05-31 45.1 kB
launch-in-terminal 2026-05-31 6.0 kB
wezterm-dropdown 2026-05-31 8.8 kB
tmux-wezterm 2026-05-31 30.7 kB
_screenrc 2026-05-31 1.9 kB
extreme-ultimate-tmux-logo.png 2026-05-31 918.4 kB
wezterm.lua 2026-05-31 21.2 kB
tmux-kitty 2026-05-31 5.3 kB
tmux-konsole 2026-05-31 5.4 kB
tmux-xfce4-terminal 2026-05-31 5.5 kB
wezterm-launch 2026-05-31 8.9 kB
_tmux.conf 2026-05-31 51.0 kB
tmux-alacritty 2026-05-31 5.3 kB
tmux-path 2026-05-31 1.6 kB
tmux-tray 2026-05-31 25.0 kB
Totals: 16 Items   1.2 MB 1

Extreme Ultimate Tmux

A self-contained, portable tmux configuration with no plugins. 700+ lines of adaptive terminal management in a single file. Drop it on any machine and it just works.

Features

  • Single file, no TPM or plugin dependencies
  • Three-tier rendering: Nerd Font, Powerline, and plain text (auto-detected at config load)
  • Graceful TTY support: detects console/TTY and renders with 16 colors, no special characters
  • Quick action menu with submenus: Panes, Layouts, Launch (21 TUI apps with descriptions), Toggles
  • fzf session picker with live color preview of each session (falls back to built-in chooser)
  • Scratchpad popup editor for persistent notes (auto-detects best editor from 17 candidates)
  • System Dashboard (btop + nload side-by-side) from the Launch menu
  • Searchable keybinding help via fzf (click the ? icon in the status bar)
  • Pane border labels showing pane index, command, and git branch or directory (toggleable)
  • SSH/mosh detection: status bar auto-swaps to bottom during remote sessions
  • Cross-platform clipboard: xsel, xclip, wl-copy, pbcopy, clip.exe, plus OSC 52 for SSH forwarding
  • Adaptive status bar: hides elements as window count grows, fully clickable
  • Clickable status bar: git branch copies to clipboard, hostname opens menu, session name opens picker, right-click tabs for context menu
  • Fast git status: uses git diff --quiet (short-circuits on first change) instead of git status
  • Dual prefix: Ctrl-a (screen users) and Ctrl-b (tmux default)
  • Mouse support: toggle on/off, scroll wheel, pane selection, click tabs to switch, middle-click to close, right-click context menu
  • Minimum tmux version: 3.2 (released 2021, ships with all current distros)

What's Included

Configuration

File Install Location Description
_tmux.conf ~/.tmux.conf The tmux configuration (rename after downloading)
wezterm.lua ~/.config/wezterm/wezterm.lua WezTerm terminal emulator configuration (recommended terminal)

Terminal Launcher Scripts

Each script launches a terminal with tmux as the session layer. First run creates the session, subsequent runs open a new tab and focus the window. Bind one to a hotkey and your terminal is always one keystroke away. See Terminal Launcher Scripts below for details.

File Install Location Description
tmux-wezterm ~/.local/bin/ WezTerm + tmux (recommended daily driver, embedded icon via xseticon, smart params)
tmux-alacritty ~/.local/bin/ Alacritty + tmux (lightweight GPU-rendered)
tmux-kitty ~/.local/bin/ Kitty + tmux (GPU-rendered with image support)
tmux-konsole ~/.local/bin/ Konsole + tmux (auto-hides menu and tab bar)
tmux-xfce4-terminal ~/.local/bin/ XFCE4 Terminal + tmux (good default for Xfce)
launch-in-terminal ~/.local/bin/ Auto-detects the best available terminal from 21 candidates

Utilities

File Install Location Description
tmux-tray ~/.local/bin/ System tray icon for session management (see below)
tmux-path ~/.local/bin/ Smart path truncation for tmux tab titles
wezterm-launch ~/.local/bin/ Opens new WezTerm tab instead of a new window
wezterm-dropdown ~/.local/bin/ Quake-style dropdown terminal (X11 only, requires xdotool/xprop/xwininfo/xrandr)

Installation

Quick Start (config only)

# Download and rename the config file
cp _tmux.conf ~/.tmux.conf

# Reload if tmux is already running
tmux source-file ~/.tmux.conf

Full Install (config + scripts)

# 1. Copy the config
cp _tmux.conf ~/.tmux.conf

# 2. Optional: copy WezTerm config
mkdir -p ~/.config/wezterm
cp wezterm.lua ~/.config/wezterm/

# 3. Copy scripts to your PATH
cp tmux-wezterm tmux-alacritty tmux-kitty tmux-konsole tmux-xfce4-terminal \
   launch-in-terminal tmux-tray tmux-path wezterm-launch wezterm-dropdown \
   ~/.local/bin/

# 4. Make scripts executable
chmod +x ~/.local/bin/tmux-* ~/.local/bin/wezterm-* ~/.local/bin/launch-in-terminal

# 5. Optional: install the tray icon as a systemd user service
tmux-tray --install

Dependencies

Required:

  • tmux 3.2+ (released 2021, included in all current distros)

Recommended terminal:

  • WezTerm - GPU-accelerated, Lua config, OSC 52 clipboard, extended keys, multiplexer-aware. The included wezterm.lua is tuned to work with this tmux config. Other terminals (Alacritty, Kitty, Konsole, etc.) work great too.

Recommended:

  • fzf for session picker with preview and searchable help

For tmux-tray (system tray icon):

  • yad and rofi

Highly recommended for X11 users:

  • xdotool or wmctrl for automatic terminal window focus. Without these, the launcher scripts still work but you have to manually click or Alt-Tab to your terminal after running them. With xdotool installed, running the script from any context (hotkey, file manager, desktop) instantly brings your terminal to the front. This is what makes the "press one hotkey" workflow seamless.

For wezterm-dropdown (quake-style dropdown terminal, X11 only):

  • xdotool, xprop, xwininfo, xrandr (standard X11 utilities, usually pre-installed)

Optional (enhance but not required):

  • xseticon for custom WezTerm window icon on X11. The tmux-wezterm script embeds a colorful icon and auto-generates it on first run, but needs xseticon to apply it. Without it, WezTerm uses its default icon.
  • Any of the 21 TUI apps in the Launch menu (btop, htop, lazygit, yazi, etc.)

Arch Linux / Manjaro / EndeavourOS:

# Core + recommended
sudo pacman -S tmux fzf wezterm

# Tray icon
sudo pacman -S yad rofi

# Popular Launch menu apps
sudo pacman -S btop htop lazygit yazi ranger mc gdu ncdu duf lf tig gitui lnav nload sysz

# Window focus (X11, highly recommended)
sudo pacman -S xdotool wmctrl

Debian / Ubuntu / Linux Mint / Pop!_OS:

# Core + recommended
sudo apt install tmux fzf

# Tray icon
sudo apt install yad rofi

# Popular Launch menu apps
sudo apt install btop htop ranger mc ncdu nload tig

# Window focus (X11, highly recommended)
sudo apt install xdotool wmctrl

# Additional apps (may need manual install or pip)
# lazygit, yazi, gdu, lf, gitui, wezterm: see their GitHub releases

Fedora / RHEL / CentOS / Rocky / Alma:

# Core + recommended
sudo dnf install tmux fzf

# Tray icon
sudo dnf install yad rofi

# Popular Launch menu apps
sudo dnf install btop htop ranger mc ncdu nload tig

# Window focus (X11, highly recommended)
sudo dnf install xdotool wmctrl

openSUSE / SLES:

# Core + recommended
sudo zypper install tmux fzf

# Tray icon
sudo zypper install yad rofi

# Popular Launch menu apps
sudo zypper install btop htop ranger mc ncdu nload tig

# Window focus (X11, highly recommended)
sudo zypper install xdotool wmctrl

Alpine Linux:

# Core + recommended
sudo apk add tmux fzf

# Popular Launch menu apps
sudo apk add btop htop ranger mc ncdu tig

NixOS / Nix:

# Temporary shell with core tools
nix-shell -p tmux fzf btop htop lazygit yazi ranger mc

# Or add to configuration.nix (permanent)
environment.systemPackages = with pkgs; [
  tmux fzf yad rofi btop htop lazygit yazi ranger mc
  gdu ncdu duf lf tig gitui lnav nload
  xdotool wmctrl
];

macOS (Homebrew):

# Core + recommended
brew install tmux fzf

# Popular Launch menu apps
brew install btop htop lazygit yazi ranger mc gdu ncdu duf lf tig gitui lnav nload

Three-Tier Rendering

The config auto-detects your terminal's font capabilities at load time and adapts its rendering:

  • Nerd Font tier - Full icons, Powerline arrow separators, git icons, battery icons, search/help icons. Detected by probing the font's character set via fc-list.
  • Powerline tier - Arrow separators for tab edges, text labels instead of icons. Used when Powerline fonts are available but Nerd Fonts are not.
  • Plain text / TTY tier - No special characters, no arrows, clean ASCII. Automatically used on Linux console (TTY), SSH to minimal servers, or any terminal without patched fonts. Still fully functional with all menus, keybindings, and features.

All three tiers render the same information: session name, hostname, git branch, battery status, window tabs. The only difference is visual style. You never lose functionality by connecting from a simpler terminal.

On a TTY (Linux console, Ctrl+Alt+F2), the config also adapts to 16-color mode automatically. The status bar, borders, and menus all render cleanly in the limited palette.

Quick Reference

Nearly all default tmux keys still work. Custom bindings (marked with a star) add functionality without replacing defaults.

Navigation

Shortcut Description
Prefix Tab Next window
Prefix Shift-Tab Previous window
Prefix a Toggle last two windows
Prefix 0-9 Jump to window by number
Prefix arrows Select pane by direction
Ctrl+Alt+arrows Select pane (no prefix needed)
Prefix ; Last active pane
Prefix z Toggle pane zoom (fullscreen)
Prefix q Flash pane numbers (click to jump)

Window Management

Shortcut Description
Prefix c New window (keeps current path)
Prefix , Rename window
Prefix T Move window to first position
Prefix Ctrl+Alt+Left/Right Move tab left/right
Prefix Ctrl+Alt+Up/Down Move tab to first/last
Prefix & Kill window (with confirmation)

Splits and Layout

Shortcut Description
Prefix - Split top and bottom
Prefix Pipe Split side by side
Prefix g Split into 2x2 grid (horizontal)
Prefix G Split into 2x2 grid (vertical)
Prefix Space Cycle to next layout
Prefix Alt-1 to 5 Apply preset layout
Prefix Ctrl+arrows Resize pane (1 cell)
Prefix Alt+arrows Resize pane (5 cells)

Pane Operations

Shortcut Description
Prefix b Break pane into its own window
Prefix j Pull pane from another window
Prefix J Send pane to another window
Prefix e Visual pane swap (show numbers, click to swap)
Prefix < Swap pane left
Prefix > Swap pane right

Sessions

Shortcut Description
Prefix s Session picker (fzf with live color preview)
Prefix ' Window picker
Prefix d Detach from session
Prefix Ctrl-d Choose a client to detach
Prefix $ Rename session
Prefix w Window tree browser

Copy and Clipboard

Shortcut Description
Prefix [ Enter copy mode (scroll, search, select)
v Start visual selection (in copy mode)
V Select entire line (in copy mode)
Ctrl-v Toggle block/rectangle selection (in copy mode)
y Yank to system clipboard and exit (in copy mode)
Escape Cancel copy mode
Prefix v Paste from top buffer
Prefix V List all paste buffers
Prefix Ctrl-v Choose which buffer to paste
Prefix y Yank current buffer to system clipboard
Mouse drag Copies selection to clipboard (in copy mode)

Menu System

The Quick Action menu (Prefix m) provides access to all common operations through keyboard navigation. Press the shortcut key shown next to each item, or use arrow keys.

Shortcut Description
Prefix m Open Quick Action menu
then c New window tab
then w Switch window tab
then W Rename window tab
then n New session (prompts for name)
then s Switch session
then r Rename session
then h Split horizontal
then v Split vertical
then o Scratchpad (popup editor for persistent notes)
then m Man page search (prompts for topic)
then q Quick command popup (Quake-style)
then p Panes submenu (swap, rotate, break, join)
then l Layouts submenu (even-h, even-v, main-h, main-v, tiled)
then a Launch submenu (21 TUI apps in 6 categories)
then t Toggles submenu (sync, mouse, status bar, pane labels, monitor activity/silence)
then d Detach
then x Kill pane (with confirmation)
then X Kill window (with confirmation)

The menu is also accessible by clicking the hostname in the status bar.

Launch Menu Apps

The Launch submenu (Prefix m then a) opens 21 TUI applications inside tmux, each in its own pane or window. Every app includes a short description in the menu so you can discover tools you haven't tried yet. If an app isn't installed, selecting it shows an error and closes. No harm done.

Monitors:

Key App What it does
b btop System monitor with CPU, memory, disk, network, and process graphs (color, mouse)
B bottom Lightweight system monitor similar to btop, written in Rust
h htop Classic interactive process viewer with tree view and signal support
l lnav Log file navigator with syntax highlighting, filtering, and SQL queries

File Managers:

Key App What it does
y yazi Fast terminal file manager with image preview, bulk rename, and tabs (Rust)
r ranger File manager with vi keybindings, file preview, and bookmarks (Python)
c mc Midnight Commander, dual-pane file manager with built-in editor and FTP
f lf Minimal terminal file manager inspired by ranger (Go, no dependencies)

Disk Usage:

Key App What it does
G gdu Fast disk usage analyzer with interactive deletion (Go)
n ncdu Disk usage analyzer with an ncurses interface for browsing directories
U dua Disk usage analyzer with parallel scanning (Rust)
F duf Disk usage overview showing all mounted filesystems in a clean table

Git:

Key App What it does
g lazygit Full git UI with staging, commits, branches, stash, and interactive rebase
i gitui Fast git TUI with diff viewer, staging, and log graph (Rust)
t tig Text-mode git repository browser with blame, log, and diff views

Containers:

Key App What it does
D lazydocker Docker management UI for containers, images, volumes, and logs
k k9s Kubernetes cluster manager with pod logs, exec, and resource browsing

Network and System:

Key App What it does
N nload Real-time network traffic monitor with incoming/outgoing bandwidth graphs
w nmtui NetworkManager TUI for connecting to Wi-Fi and managing network profiles
z sysz Interactive systemd unit browser (start, stop, restart, view logs via fzf)
S System Dashboard Side-by-side btop + nload split (built-in, no extra install)

Tools

Shortcut Description
Prefix Backtick or ~ Quake-style popup shell (top of screen)
Prefix r Reload tmux config
Prefix Ctrl-e Edit config in best available editor (auto-detected from 17 editors)
Prefix Ctrl-m Man page lookup (prompts for keyword)
Prefix h Show bashrc help file in a pane
Prefix Ctrl-h Show bashrc README in a pane
Prefix M Toggle mouse mode on/off
Prefix S Toggle status bar on/off
Prefix + Toggle synchronized panes (type in all panes at once)
Prefix D Dump entire scrollback to ~/tmux-dump-TIMESTAMP.txt
Prefix P Toggle pane output logging to ~/tmux-pane.log

Clickable Status Bar

Every element in the status bar is clickable:

Target Action
[+] button New window in current path
Tab name Switch to that window
Right-click tab Context menu (swap, rename, kill, new after/at end)
Middle-click tab Close that window
Git branch Copy branch name to system clipboard
Hostname Open the Quick Actions menu
? icon Searchable keybinding help (fzf popup, falls back to list-keys)
Battery/power btop or htop in a popup
Session name Session picker (fzf with live preview)
Window count Built-in window picker with preview

Tmux Tray Icon

tmux-tray is a standalone system tray icon for tmux session management. It auto-detects your terminal emulator (11 terminals) and tmux config path.

  • Green icon when sessions are active, white/dark when idle (configurable for dark or light panels)
  • Left-click: rofi session picker (auto-selects if only one session, type a new name to create one)
  • Right-click menu: New Window, New Session, Session Info, Rename Session, Reload Config, Kill Session, Kill Server, Restart Tray, Exit
  • Generates its own SVG icons (no external icon files needed)
  • Runs as a systemd user service
tmux-tray --install     # Install and start the service
tmux-tray --uninstall   # Remove the service
tmux-tray --status      # Show status and detected configuration
tmux-tray --help        # Full usage

Customize by editing the variables at the top of the script:

  • DARK_MODE (true/false) controls the inactive icon color for dark or light panels
  • ACTIVE_COLOR sets the active icon color (default: #50E855 green)
  • TERMINAL overrides terminal auto-detection if needed
  • TMUX_CONFIG overrides the config file path
  • CHECK_INTERVAL sets the polling interval in seconds (default: 2)

Requirements: yad, tmux, rofi. Optional: xdotool for window focus, notify-send for notifications.

Terminal Launcher Scripts

Why not just type tmux?

You can. But then you're managing tmux yourself: remembering session names, reattaching after terminal crashes, deciding whether to new-session or attach. These scripts handle all of that so tmux becomes invisible.

  • First run: Opens your terminal with a tmux session (creates one if none exists, reattaches if one does)
  • Run it again: Opens a new tmux tab inside the existing terminal window, then focuses that window. No second terminal, no duplicate sessions.
  • Terminal crashes: Your tmux session survives. Run the script again and you're right back where you were, every pane and process intact.
  • Switch terminals: Detach from one terminal, run a different launcher script, and reattach from a completely different terminal emulator. Your session doesn't care what's displaying it.
  • More stable than dropdown terminals like Guake or Yakuake, which kill your shell session when they crash. With these scripts, the terminal is disposable. Tmux is the anchor.

The real value is that you bind one of these scripts to a hotkey (like Ctrl+Alt+T) and your terminal workflow becomes: press the hotkey. That's it. First press opens everything, every press after that gives you a new tab or focuses your terminal. You never think about tmux session management again.

Common features

All launcher scripts share the same capabilities:

  • Pass a directory path to start the new tmux window there
  • Pass a command or executable name to run it in a new tmux window
  • Set _TMUX_LOAD_SESSION_NAME to override the default session name
  • Automatic window focus via xdotool or wmctrl on X11 (see below)
  • Slightly elevated process priority (nice -n -1) for a more responsive terminal under load

Per-terminal features

Script Terminal Extras
tmux-wezterm WezTerm Embedded icon (auto-generated on first run, applied via xseticon), .lua config override, recommended daily driver
tmux-alacritty Alacritty Lightweight GPU-rendered terminal
tmux-kitty Kitty GPU-rendered with built-in image support
tmux-konsole Konsole Auto-hides menu bar and tab bar for a clean tmux-only view
tmux-xfce4-terminal XFCE4 Terminal Good default for Xfce desktop users
launch-in-terminal Auto-detect Finds the best available terminal from 21 candidates, uses WezTerm+tmux if available

X11 and Wayland

The tmux config itself has no display server dependency and works everywhere: TTY console, SSH, local terminal, remote server.

The terminal launcher scripts use xdotool or wmctrl for automatic window focus on X11. This is the piece that makes the "one hotkey" workflow feel seamless: press your terminal hotkey and the window appears instantly, whether it was behind other windows, on another workspace, or minimized. Without these tools the scripts still work, but you'll need to Alt-Tab or click to reach the terminal yourself.

tmux-tray uses yad for the tray icon which works on X11 and most Wayland compositors that support the system tray protocol (XDG StatusNotifierItem). wezterm-dropdown is X11-only (uses xdotool for the quake-style toggle).

Configuration

All customization is done by editing the config file directly. No external config files or plugin managers.

Key settings near the top of .tmux.conf:

  • Scrollback history (default: 100,000 lines)
  • Escape time (default: 10ms, safe for SSH)
  • Status refresh interval (default: 3 seconds)
  • Mouse mode (toggleable with Prefix M)

The config auto-detects at load time:

  • tmux version (gates features for 3.2, 3.5+)
  • fzf availability (enables enhanced session picker and searchable help)
  • Font tier (Nerd Font, Powerline, or plain text)
  • Best available editor (for scratchpad and config editing)

The Launch menu includes 21 TUI applications. If an app isn't installed, selecting it just shows an error. No harm done.

License

Released under the MIT License. Use it however you want.

Source: README.md, updated 2026-05-31