Skip to content

2KAbhishek/tmux2k

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

License People Stars Forks Watches Last Updated

Make tmux powerful and pretty ๐ŸฅŠ๐Ÿ’…

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.

default-plugins

โœจ Features

  • 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.

โšก Setup

โš™๏ธ Requirements

Important

bash 5.2 or newer, macOS users can install it using brew install bash

๐Ÿ’ป Installation

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.

๐ŸŽจ Available Themes:

  • default default
  • default icons default-icons
  • catppuccin catppuccin
  • catppuccin icons catppuccin-icons
  • gruvbox gruvbox
  • gruvbox icons gruvbox-icons
  • monokai monokai
  • monokai icons monokai-icons
  • onedark onedark
  • onedark icons onedark-icons
  • duo duo
  • duo icons duo-icons
  • duo blue duo-blue
  • default no powerline 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 name

๐Ÿ–Œ๏ธ Customize Theme Colors

Available Colors:

Base Colors

  • white, gray, black
  • light_blue, blue, dark_blue
  • light_green, green, dark_green
  • light_orange, orange, dark_orange
  • light_pink, pink, dark_pink
  • light_purple, purple, dark_purple
  • light_red, red, dark_red
  • light_yellow, yellow, dark_yellow

UI Colors

  • text: Text color. Default: black
  • bg_main: Background color. Default: black
  • bg_alt: Alt Background color. Default: gray
  • message_bg: Message background color. Default: blue
  • message_fg: Message text color. Default: black
  • pane_active_border: Active pane border color. Default: blue
  • pane_border: Inactive pane border color. Default: black
  • prefix_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 color

You may have to restart tmux for some changes to reflect

๐Ÿงฉ Available Plugins

1. bandwidth

Show network bandwidth usage

  • tmux2k-bandwidth-network-name: Network interface to track bandwidth of, default: en0
  • tmux2k-bandwidth-up-icon: Icon for bandwidth upload usage, default: ๏ข
  • tmux2k-bandwidth-down-icon: Icon for bandwidth download usage, default: ๏ฃ

2. battery

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: ๏‰€

3. cpu

Show CPU usage information

  • tmux2k-cpu-icon: Icon for CPU usage, default: ๏’ผ
  • tmux2k-cpu-display-load: Control CPU load display, default: false

4. cpu-temp

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

5. cwd

Show current working directory

  • tmux2k-cwd-icon: Icon for directory, default: ๏“”

6. git

Show Git branch and status information

  • tmux2k-git-display-status: Control git status display, default: false
  • tmux2k-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: ๎ฎŸ

7. gpu

Show GPU usage information

  • tmux2k-gpu-icon: Icon for GPU usage, default: `๏‘ณ``

8. group

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 uptime
  • tmux2k-group-delimiter: Delimiter between plugin's output, default: ๎˜ก

9. network

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: ๓ฐŒ™

10. ping

Show network ping statistics

11. pomodoro

Shows pomodoro timer, needs tmux-pomodoro-plus (hit prefix + p to start)

12. ram

Show RAM usage information

  • tmux2k-ram-icon: Icon for RAM usage, default: ๎ฟ…

13. session

Shows Current Session/Window with custom icon

  • tmux2k-session-format: Format for Tmux session, default: #S
  • tmux2k-session-icon: Icon for Tmux session, default: ๎ฏˆ

14. time

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: ๏บ

15. weather

Show weather information

  • @tmux2k-weather-scale: Scale to use for temperature. Default: c, options: [c, f, k]
  • @tmux2k-weather-display-location: Whether to show location name. Default: true
  • @tmux2k-weather-location: Fixed location for weather. Default: ""

16. window-list

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

17. uptime

Show current system uptime

  • tmux2k-uptime-icon: Icon for system uptime, default: ๓ฐ€ 

๐Ÿช† Add New Plugins

To add a new plugin:

  • Copy plugin/custom.sh and rename it to match your plugin name.
  • Update the new plugin script to echo the expected output.
  • Add color declaration for your plugin name into the plugin_colors array in main.sh

The plugin name and script file name must match e.g: plugin named foo should have a file called scripts/foo.sh

Gemeral Plugin Configs

# 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

๐Ÿ—๏ธ What's Next

  • You tell me!

๐Ÿง‘โ€๐Ÿ’ป Behind The Code

๐ŸŒˆ Inspiration

I came across dracula/tmux sometime back and I wanted to create a more customizable and easy to expand solution.

๐Ÿ’ก Challenges/Learnings

  • Learned a lot about the tmux and tpm ecosystem.
  • Did some fancy shell scripting.

What's next

To-Do

You tell me!

๐Ÿงฐ Tooling

  • dots2k โ€” Dev Environment
  • nvim2k โ€” Personalized Editor
  • sway2k โ€” Desktop Environment
  • qute2k โ€” Personalized Browser

๐Ÿ” More Info

  • 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy