• Stars
    star
    433
  • Rank 100,464 (Top 2 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 10 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Plug and play cpu percentage and icon indicator for Tmux.

Tmux CPU and GPU status

Enables displaying CPU and GPU information in Tmux status-right and status-left. Configurable percentage and icon display.

Installation

Installation with Tmux Plugin Manager (recommended)

Add plugin to the list of TPM plugins in .tmux.conf:

set -g @plugin 'tmux-plugins/tmux-cpu'

Hit prefix + I to fetch the plugin and source it.

If format strings are added to status-right, they should now be visible.

Manual Installation

Clone the repo:

$ git clone https://github.com/tmux-plugins/tmux-cpu ~/clone/path

Add this line to the bottom of .tmux.conf:

run-shell ~/clone/path/cpu.tmux

Reload TMUX environment:

# type this in terminal
$ tmux source-file ~/.tmux.conf

If format strings are added to status-right, they should now be visible.

Optional requirements (Linux, BSD, OSX)

  • iostat or sar are the best way to get an accurate CPU percentage. A fallback is included using ps -aux but could be inaccurate.
  • free is used for obtaining system RAM status.
  • lm-sensors is used for CPU temperature.
  • nvidia-smi is required for GPU information. For OSX, cuda-smi is required instead (but only shows GPU memory use rather than load). If "No GPU" is displayed, it means the script was not able to find nvidia-smi/cuda-smi. Please make sure the appropriate command is installed and in the $PATH.

Usage

Add any of the supported format strings (see below) to the existing status-right tmux option. Example:

# in .tmux.conf
set -g status-right '#{cpu_bg_color} CPU: #{cpu_icon} #{cpu_percentage} | %a %h-%d %H:%M '

Supported Options

This is done by introducing 12 new format strings that can be added to status-right option:

  • #{cpu_icon} - will display a CPU status icon
  • #{cpu_percentage} - will show CPU percentage (averaged across cores)
  • #{cpu_bg_color} - will change the background color based on the CPU percentage
  • #{cpu_fg_color} - will change the foreground color based on the CPU percentage
  • #{ram_icon} - will display a RAM status icon
  • #{ram_percentage} - will show RAM percentage (averaged across cores)
  • #{ram_bg_color} - will change the background color based on the RAM percentage
  • #{ram_fg_color} - will change the foreground color based on the RAM percentage
  • #{cpu_temp_icon} - will display a CPU temperature status icon
  • #{cpu_temp} - will show CPU temperature (averaged across cores)
  • #{cpu_temp_bg_color} - will change the background color based on the CPU temperature
  • #{cpu_temp_fg_color} - will change the foreground color based on the CPU temperature

GPU equivalents also exist:

  • #{gpu_icon} - will display a GPU status icon
  • #{gpu_percentage} - will show GPU percentage (averaged across devices)
  • #{gpu_bg_color} - will change the background color based on the GPU percentage
  • #{gpu_fg_color} - will change the foreground color based on the GPU percentage
  • #{gram_icon} - will display a GPU RAM status icon
  • #{gram_percentage} - will show GPU RAM percentage (total across devices)
  • #{gram_bg_color} - will change the background color based on the GPU RAM percentage
  • #{gram_fg_color} - will change the foreground color based on the GPU RAM percentage
  • #{gpu_temp_icon} - will display a GPU temperature status icon
  • #{gpu_temp} - will show GPU temperature (average across devices)
  • #{gpu_temp_bg_color} - will change the background color based on the GPU temperature
  • #{gpu_temp_fg_color} - will change the foreground color based on the GPU temperature

Examples

CPU usage lower than 30%:
low_fg low_bg low_icon

CPU usage between 30% and 80%:
medium_fg medium_bg medium_icon

CPU usage higher than 80%:
high_fg high_bg high_icon

Customization

Here are all available options with their default values:

@cpu_low_icon "=" # icon when cpu is low
@cpu_medium_icon "≑" # icon when cpu is medium
@cpu_high_icon "≣" # icon when cpu is high

@cpu_low_fg_color "" # foreground color when cpu is low
@cpu_medium_fg_color "" # foreground color when cpu is medium
@cpu_high_fg_color "" # foreground color when cpu is high

@cpu_low_bg_color "#[bg=green]" # background color when cpu is low
@cpu_medium_bg_color "#[bg=yellow]" # background color when cpu is medium
@cpu_high_bg_color "#[bg=red]" # background color when cpu is high

@cpu_percentage_format "%3.1f%%" # printf format to use to display percentage

@cpu_medium_thresh "30" # medium percentage threshold
@cpu_high_thresh "80" # high percentage threshold

@ram_(low_icon,high_bg_color,etc...) # same defaults as above

@cpu_temp_format "%2.0f" # printf format to use to display temperature
@cpu_temp_unit "C" # supports C & F

@cpu_temp_medium_thresh "80" # medium temperature threshold
@cpu_temp_high_thresh "90" # high temperature threshold

@cpu_temp_(low_icon,high_bg_color,etc...) # same defaults as above

All @cpu_* options are valid with @gpu_* (except @cpu_*_thresh which apply to both CPU and GPU). Additionally, @ram_* options become @gram_* for GPU equivalents.

Note that these colors depend on your terminal / X11 config.

You can can customize each one of these options in your .tmux.conf, for example:

set -g @cpu_low_fg_color "#[fg=#00ff00]"
set -g @cpu_percentage_format "%5.1f%%" # Add left padding

Don't forget to reload the tmux environment ($ tmux source-file ~/.tmux.conf) after you do this.

Tmux Plugins

This plugin is part of the tmux-plugins organisation. Checkout plugins as battery, logging, online status, and many more over at the tmux-plugins organisation page.

Maintainers

License

MIT

More Repositories

1

tpm

Tmux Plugin Manager
Shell
12,082
star
2

tmux-resurrect

Persists tmux environment across system restarts.
Shell
11,249
star
3

tmux-continuum

Continuous saving of tmux environment. Automatic restore when tmux is started. Automatic tmux start when computer is turned on.
Shell
3,263
star
4

tmux-yank

Tmux plugin for copying to system clipboard. Works on OSX, Linux and Cygwin.
Shell
2,682
star
5

tmux-sensible

basic tmux settings everyone can agree on
Shell
1,756
star
6

list

A list of tmux plugins.
1,201
star
7

tmux-copycat

A plugin that enhances tmux search
Shell
1,103
star
8

tmux-logging

Easy logging and screen capturing for Tmux.
Shell
1,034
star
9

tmux-pain-control

standard pane key-bindings for tmux
Shell
755
star
10

tmux-open

Tmux key bindings for quick opening of a highlighted file or url
Shell
631
star
11

tmux-prefix-highlight

Plugin that highlights when you press tmux prefix key
Shell
571
star
12

tmux-sidebar

A sidebar with the directory tree for the current path. Tries to make tmux more IDE like.
Shell
536
star
13

tmux-battery

Plug and play battery percentage and icon indicator for Tmux.
Shell
499
star
14

tmux-sessionist

Lightweight tmux utils for manipulating sessions
Shell
412
star
15

vim-tmux-focus-events

Make terminal vim and tmux work better together.
Vim Script
348
star
16

vim-tmux

vim plugin for tmux.conf
Vim Script
333
star
17

tmux-fpp

Quickly open any path on your terminal window in your $EDITOR of choice!
Shell
308
star
18

tmux-urlview

Quickly open any url on your terminal window!
Shell
266
star
19

tmux-online-status

Tmux plugin that displays online status of your computer.
Shell
169
star
20

tmux-example-plugin

Example Tmux plugin that actually demonstrates how to build plugins for Tmux. The accompanying tutorial is here: https://github.com/tmux-plugins/tpm/blob/master/HOW_TO_PLUGIN.md
Shell
45
star
21

tmux-cowboy

Kill hanging processes fast
Shell
37
star
22

tmux-maildir-counter

Plugin that counts files on a specific mail directory
Shell
32
star
23

tmux-test

A small framework for isolated testing of tmux plugins.
Shell
16
star
24

language-tmux

Atom language support for Tmux config file
CoffeeScript
10
star
25

tmux-newsboat

Display newsboat counters in tmux status line.
Shell
10
star