tmux-net-speed
January 14, 2017 ยท View on GitHub
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)