No description
Find a file
2020-01-09 21:59:52 -05:00
.github/ISSUE_TEMPLATE Update bug_report.md 2019-11-03 22:01:27 -05:00
.vscode Some cleaning up in the data_conversion area for cpu 2020-01-04 19:20:54 -05:00
assets [skip travis] More documentation tweaking 2020-01-02 23:49:23 -05:00
src Change how we call time in data_collection step 2020-01-09 21:59:52 -05:00
tests Quick error change for processes to be a bit more graceful, fix tests 2019-12-30 22:39:49 -05:00
.gitignore Base building blocks of grouped process functionality 2020-01-07 23:39:52 -05:00
.markdownlint.json [skip travis] Update README with compatibility chart 2020-01-02 20:31:58 -05:00
.travis.yml [skip travis] Some travis tweaking 2020-01-03 00:20:47 -05:00
Cargo.toml Some basic cleaning 2020-01-06 23:07:58 -05:00
LICENSE Initial commit 2019-08-28 19:43:30 -04:00
README.md Add flag to enable by default, documentation 2020-01-08 22:54:14 -05:00
rustfmt.toml Formatting changes to be a bit more strict on line length 2020-01-07 23:40:53 -05:00

bottom

Build Status crates.io link

A graphical 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 use cargo install bottom.

Windows

You can currently install by cloning and building yourself using cargo build --release, or use cargo install bottom . 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.

Support

The compatibility of each widget and operating systems are, as of version 0.1.0, as follows:

OS/Widget CPU Memory Disks Temperature Processes Networks
Linux
Windows Currently not working Partially supported (total RX/TX unavailable)
macOS Untested Untested Untested Untested Untested Untested

Usage

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.

  • -u, --current_usage will make a process' CPU usage be based on the current total CPU usage, rather than assuming 100% CPU usage. Only affects Linux for now.

  • g, --group will group together processes with the same name by default (equivalent to pressing Tab).

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.

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

Scrollable Tables

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

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

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

Processes

  • dd to kill the selected process

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

  • Tab to group together processes with the same name. Disables PID sorting. dd will now kill all processes covered by that name.

Mouse actions

  • Scrolling with the mouse will scroll through the currently selected list, similar to using the up/down arrow keys.

Thanks, kudos, and all the like