tmux2k is a highly customizable framework designed to enhance your tmux status bar, providing you with a sleek and informative interface for your terminal sessions.
- Informative Display: Essential system stats, git info, weather, and more.
- Plugin Ecosystem: Extensive plugins for system monitoring and version control.
- Easy Customization: Intuitive configuration and flexible architecture.
- Real-Time Updates: Dynamic content rendering for a responsive experience.
Important
bash 5.2 or newer is required for colors to work correctly, macOS users can install it using brew install bash
The default macOS terminal is not supported, I would recomment Kitty, Alacritty or another modern terminal emulator
- A patched nerd font for
powerlineand glyphs support.
If you are a tpm user, you can install the theme and keep up to date by adding the following to your .tmux.conf file:
set -g @plugin '2kabhishek/tmux2k'Run tmux and use the tpm install command: prefix + I (default prefix is ctrl+b)
You can also directly clone the repo to your ~/.tmux/plugins/ folder.
- default
- default icons
- catppuccin
- catppuccin icons
- gruvbox
- gruvbox icons
- monokai
- monokai icons
- onedark
- onedark icons
- duo
- duo icons
- duo blue
- default no powerline
To use themes:
# use a theme
set -g @tmux2k-theme 'onedark'
# to show icons only
set -g @tmux2k-icons-only true
# to customize duo bg and fg
set -g @tmux2k-duo-fg "#1688f0" # this will get you duo blue shown above
set -g @tmux2k-duo-bg "#000000" # this will set the bg for duo theme
# to set powerline symbols
set -g @tmux2k-right-sep # alternate right status bar sep
set -g @tmux2k-window-list-right-sep # alternate window list right sep
# to not show powerline
set -g @tmux2k-show-powerline false
# set session icon, accpets: `session`, 'window`, or any string
set -g @tmux2k-session-icon " #S" # `#W` for window nameBase Colors
white,gray,blacklight_blue,blue,dark_bluelight_green,green,dark_greenlight_orange,orange,dark_orangelight_pink,pink,dark_pinklight_purple,purple,dark_purplelight_red,red,dark_redlight_yellow,yellow,dark_yellow
UI Colors
text: Text color. Default:blackbg_main: Background color. Default:blackbg_alt: Alt Background color. Default:graymessage_bg: Message background color. Default:bluemessage_fg: Message text color. Default:blackpane_active_border: Active pane border color. Default:bluepane_border: Inactive pane border color. Default:blackprefix_highlight: Highlight color for active prefix. Default:blue
To customize theme colors:
set -g @tmux2k-light-yellow '#f8c800' # change light yellow base color
set -g @tmux2k-bg-main '#ffffff' # change bg to white
set -g @tmux2k-prefix-highlight '#f8c800' # change prefix colorYou may have to restart
tmuxfor some changes to reflect
Show network bandwidth usage
tmux2k-bandwidth-network-name: Network interface to track bandwidth of, default:en0tmux2k-bandwidth-up-icon: Icon for bandwidth upload usage, default:tmux2k-bandwidth-down-icon: Icon for bandwidth download usage, default:
Show battery stats and percentage
tmux2k-battery-charging-icon: Icon for charging status, default:tmux2k-battery-missing-icon: Icon for missing battery, default:tmux2k-battery-percentage-0: Icon for 0-25% battery, default:tmux2k-battery-percentage-1: Icon for 25-50% battery, default:tmux2k-battery-percentage-2: Icon for 50-75% battery, default:tmux2k-battery-percentage-3: Icon for 75-90% battery, default:tmux2k-battery-percentage-4: Icon for 90-100% battery, default:
Show CPU usage information
tmux2k-cpu-icon: Icon for CPU usage, default:tmux2k-cpu-display-load: Control CPU load display, default:false
Show CPU temperature
tmux2k-cpu-temp-icon: Icon for CPU temperature, default:tmux2k-cpu-temp-delimiter: Decimal delimiter for CPU temperature, default:.tmux2k-cpu-temp-round: Round CPU temperature to the nearest integer, default:false
Show current working directory
tmux2k-cwd-icon: Icon for directory, default:tmux2k-cwd-length: Maximum path length before truncation, default:20tmux2k-cwd-min-depth: Minimum directory depth before mid-truncation, default:4tmux2k-cwd-prefix-chars: Characters to keep from each directory name when truncating, default:2
Show Git branch and status information
tmux2k-git-display-status: Control git status display, default:falsetmux2k-git-added-icon: Icon for added files, default:tmux2k-git-modified-icon: Icon for modified files, default:tmux2k-git-updated-icon: Icon for updated files, default:tmux2k-git-deleted-icon: Icon for deleted files, default:tmux2k-git-repo-icon: Icon for repository, default:tmux2k-git-diff-icon: Icon for differences, default:tmux2k-git-no-repo-icon: Icon for no repository, default:
Show GPU usage information
tmux2k-gpu-icon: Icon for GPU usage, default:
Group output from several other plugins to present information in more compact manner.
tmux2k-group-plugins: Set plugins for combining their output, default:cpu ram uptimetmux2k-group-delimiter: Delimiter between plugin's output, default:
Show network status and statistics
tmux2k-network-ethernet-icon: Icon for Ethernet connection, default:tmux2k-network-wifi-icon: Icon for Wi-Fi connection, default:tmux2k-network-offline-icon: Icon for offline status, default:
Show network ping statistics
tmux2k-ping-server: Host to ping, default:google.comtmux2k-ram-icon: Icon for ping, default:
Shows pomodoro timer, needs tmux-pomodoro-plus (hit prefix + p to start)
Show RAM usage information
tmux2k-ram-icon: Icon for RAM usage, default:
Shows Current Session/Window with custom icon
tmux2k-session-format: Format for Tmux session, default:#Stmux2k-session-icon: Icon for Tmux session, default:
Show current time and date
@tmux2k-time-format: Sets the format for displaying the time. Default:"%a %I:%M %p"@tmux2k-time-icon: Sets the icon for the time display. Default:
Show weather information
@tmux2k-weather-scale: Scale to use for temperature. Default:c, options:[c, f, k]@tmux2k-weather-display-condition: Whether to show weather condition name. Default:true@tmux2k-weather-display-location: Whether to show location name. Default:false@tmux2k-weather-location: Fixed location for weather. Default:""
tmux window list, this plugin is not supposed to be added to left / right plugin arrays, use the alignment option to position it.
@tmux2k-window-list-alignment: Sets the alignment of the window list. Default:'absolute-centre'Available options: left | centre | right | absolute-centre@tmux2k-window-list-left-sep: Sets the left separator for the window list. Default:@tmux2k-window-list-right-sep: Sets the right separator for the window list. Default:@tmux2k-window-list-format: Sets the format for the window list. Default:'#I:#W'@tmux2k-window-list-compact: Enables or disables compact mode for the window list. Default:false
Show current system uptime
tmux2k-uptime-icon: Icon for system uptime, default:
Show pending todo with tdo
@tmux2k-tdo-icon: Sets the icon for the todos display. Default:
To add a new plugin:
- Copy
plugin/custom.shand rename it to match your plugin name. - Update the new plugin script to
echothe expected output. - Add color declaration for your plugin name into the
plugin_colorsarray inmain.sh
The plugin name and script file name must match e.g: plugin named
fooshould have a file calledscripts/foo.sh
# set the left and right plugin sections
set -g @tmux2k-left-plugins "session git cpu ram"
set -g @tmux2k-right-plugins "battery network time"
# contorl refresh rate, applies to bandwidth, ping
set -g @tmux2k-refresh-rate 1
# to customize plugin colors
set -g @tmux2k-[plugin-name]-colors "[background] [foreground]"
set -g @tmux2k-cpu-colors "red black" # set cpu plugin bg to red, fg to black- You tell me!
I came across dracula/tmux sometime back and I wanted to create a more customizable and easy to expand solution.
- Learned a lot about the
tmuxandtpmecosystem. - Did some fancy shell scripting.
You tell me!
- dots2k — Dev Environment
- nvim2k — Personalized Editor
- sway2k — Desktop Environment
- qute2k — Personalized Browser
- tmux-tea — Simple and powerful tmux session manager
- tmux-tilit — Turns tmux into a terminal window manager
⭐ hit the star button if you found this useful ⭐
Source | Blog | Twitter | LinkedIn | More Links | Other Projects