Yet another cross-platform graphical process/system monitor.
Go to file
2019-12-28 01:22:33 -05:00
.github/ISSUE_TEMPLATE Update bug_report.md 2019-11-03 22:01:27 -05:00
.vscode [skip travis] Update .vscode for false positive typos 2019-12-28 01:22:33 -05:00
assets Added dd command on linux. 2019-09-16 21:45:48 -04:00
src Fix typo in code... oops. 2019-12-28 01:21:49 -05:00
tests Update controls. 2019-12-15 00:17:15 -05:00
.gitignore [skip travis] Update gitignore 2019-12-26 21:49:38 -05:00
.travis.yml [skip travis] Add field for total rx and tx display in the canvas; note this will get changed when we rewrite legend into a separate tab due to tui-rs limitations 2019-12-27 18:30:35 -05:00
Cargo.toml Add random colour generation to allow for dealing with large multicore systems without overlapping colours (hopefully) 2019-12-26 19:06:30 -05:00
LICENSE Initial commit 2019-08-28 19:43:30 -04:00
README.md Fix typo in code... oops. 2019-12-28 01:21:49 -05:00
rustfmt.toml Update tui version... legends aren't showing up yet, will have to fork again. 2019-12-06 00:57:04 -05:00

bottom

Build Status crates.io link

A top clone, written in Rust. Inspired by both gtop and gotop

Quick demo recording

Installation

Linux

You can install by cloning and using cargo build --release, or download the pre-compiled binary in Releases.

Windows

You can currently install by cloning and building yourself using cargo build --release. You may need to install a font like FreeMono and use a terminal like cmder for font support to work properly, unfortunately.

macOS

macOS support will hopefully come soonTM.

Usage

Note that all options and keybindings on GitHub may reflect the current development build, and not that of the current releases. For now, refer to the crate README for documentation as of time of release.

Command line options

  • -h, --help shows the help screen and exits.

  • -a, --avgcpu enables also showing the average CPU usage in addition to per-core CPU usage.

  • -m, --dot-marker uses a dot marker instead of the default braille marker.

  • -c, --celsius displays the temperature type in Celsius. This is the default.

  • -f, --fahrenheit displays the temperature type in Fahrenheit.

  • -k, --kelvin displays the temperature type in Kelvin.

  • -v, --version displays the version number and exits.

  • -d, --debug enables debug logging.

  • -r <RATE>, --rate <RATE> will set the refresh rate in milliseconds. Lowest it can go is 250ms, the highest it can go is 2128 - 1. Defaults to 1000ms, and lower values may take more resources due to more frequent polling of data, and may be less accurate in some circumstances.

  • -l, --left_legend will move external table legends to the left side rather than the right side. Right side is default.

Keybindings

General

  • q, Ctrl-c to quit.

  • Ctrl-r to reset the screen and reset all collected data.

  • f to freeze the screen from updating with new data. Press f again to unfreeze. Note that monitoring will still continue in the background.

  • Ctrl+Up/k, Ctrl+Down/j, Ctrl+Left/h, Ctrl+Right/l to navigate between panels.

  • Up and Down scrolls through the list if the panel is a table (Temperature, Disks, Processes).

  • Esc to close a dialog window.

  • ? to get a help screen explaining the controls. Note all controls except Esc to close the dialog will be disabled while this is open.

Processes, temperature, and disk panels

  • dd to kill the selected process Currently disabled in repo

  • c to sort by CPU usage. Sorts in descending order by default. Press again to reverse sorting order.

  • m to sort by memory usage. Sorts in descending order by default. Press again to reverse sorting order.

  • p to sort by PID. Sorts in ascending order by default. Press again to reverse sorting order.

  • n to sort by process name. Sorts in ascending order by default. Press again to reverse sorting order.

  • gg to jump to the first entry of the current table.

  • G (Shift+g) to jump to the last entry of the current table.

Mouse actions

  • Scrolling currently only scrolls through the list if the panel is a table (Temperature, Disks, Processes).

Thanks, kudos, and all the like