| Name | Modified | Size | Downloads / 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:
tmux3.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.luais tuned to work with this tmux config. Other terminals (Alacritty, Kitty, Konsole, etc.) work great too.
Recommended:
fzffor session picker with preview and searchable help
For tmux-tray (system tray icon):
yadandrofi
Highly recommended for X11 users:
xdotoolorwmctrlfor 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):
xseticonfor custom WezTerm window icon on X11. Thetmux-weztermscript 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 panelsACTIVE_COLORsets the active icon color (default: #50E855 green)TERMINALoverrides terminal auto-detection if neededTMUX_CONFIGoverrides the config file pathCHECK_INTERVALsets 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_NAMEto override the default session name - Automatic window focus via
xdotoolorwmctrlon 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.
Related
- Extreme Ultimate .bashrc - 12,000+ line bash configuration framework by the same author