Skip to content

Tmux plugin to monitor upload and download speed of one or all interfaces

License

Notifications You must be signed in to change notification settings

tmux-plugins/tmux-net-speed

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tmux-net-speed

Tmux plugin to monitor upload and download speed of one or all interfaces.

Usage

Add one of the following format string to status-right tmux option.

Special Credit

This plugin is roughly based on the various plugins in https://github.com/tmux-plugins.

Formats

Shows value in either MB/s, KB/s, or B/s.

  • #{download_speed} - Shows only download speed,
  • #{upload_speed} - Shows only upload speed,
  • #{net_speed} - Shows both the upload and download speeds. Example: "D: 123 MB/s U: 25 MB/s"

Past Values

Since this is a difference, the old values are stored in files in /tmp/. The user must be able to read and write to this directory.

Set Options

Set the following options in your .tmux.conf.

To change which interfaces to pull from, use a space-separated list. If not set, grabs all the interfaces listed in "/sys/class/net/"

set -g @net_speed_interfaces "eth0 eth1"

To change the formatter sting passed to printf.

set -g @download_speed_format "%10s"
set -g @upload_speed_format "%10s"
set -g @net_speed_format "D:%10s U:%10s"

Installation with Tmux Plugin Manager (recommended)

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

set -g @plugin 'tmux-plugins/tmux-net-speed'

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-net-speed ~/clone/path

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

run-shell ~/clone/path/net_speed.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.

Storage of Past Values

This plugin stores the total output for all the interfaces in a file in /tmp/. Therefore, the current user must be able to write and read from that directory.

TODO

  • Add unit tests
  • Add error handling
  • Configure which interfaces to calculate
  • Configure format string for #{net_speed}
  • Handle other OSs (currently only supports Linux)

License

MIT

About

Tmux plugin to monitor upload and download speed of one or all interfaces

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%