1
0
mirror of https://github.com/danog/ytop.git synced 2024-11-26 20:15:03 +01:00
Go to file
2020-01-23 09:14:38 -08:00
.github Update release ci 2020-01-18 14:22:24 -08:00
assets Add media from gotop 2020-01-13 08:40:58 -08:00
colorschemes Add media from gotop 2020-01-13 08:40:58 -08:00
src replace lazy static with once cell 2020-01-23 09:14:38 -08:00
.editorconfig Fix yml indentation 2019-07-29 22:18:52 -07:00
.gitignore Initial commit 2019-07-20 17:57:40 -07:00
.rustfmt.toml Convert spaces to tabs 2019-07-26 20:28:16 -07:00
Cargo.lock replace lazy static with once cell 2020-01-23 09:14:38 -08:00
Cargo.toml replace lazy static with once cell 2020-01-23 09:14:38 -08:00
CHANGELOG.md 0.3.0 2020-01-23 07:16:17 -08:00
LICENSE Initial commit 2019-07-20 17:57:40 -07:00
README.md Update readme 2020-01-23 09:06:25 -08:00

ytop

Minimum rustc version Matrix

Another TUI based system monitor, this time in Rust!

Missing features

  • macOS is missing temperatures, disks, and process commandline
  • Process filtering isn't implemented
  • Mouse usage isn't implemented
  • rate and interfaces cli args aren't implemented

Installation

Currently working on Linux and macOS with support planned for all major platforms.

Prebuilt binaries

Run the following to run this script to download the correct binary for your system from the releases tab into ~/.cargo/bin, courtesy of japaric/trust:

bash <(curl -LSfs https://japaric.github.io/trust/install.sh) \
  -f --git cjbassi/ytop

Specify --to to change the download location.

Arch Linux

Install ytop, ytop-bin, or ytop-git from the AUR.

Homebrew

brew tap cjbassi/ytop
brew install ytop

From source

Latest release:

cargo install -f --git https://github.com/cjbassi/ytop --tag 0.3.0

Latest commit:

cargo install -f --git https://github.com/cjbassi/ytop

Usage

Keybinds

  • Quit: q or <C-c>
  • Pause: <Space>
  • Process navigation:
    • k and <Up>: up
    • j and <Down>: down
    • <C-u>: half page up
    • <C-d>: half page down
    • <C-b>: full page up
    • <C-f>: full page down
    • gg and <Home>: jump to top
    • G and <End>: jump to bottom
  • Process actions:
    • <Tab>: toggle process grouping
    • dd: kill selected process or process group
  • Process sorting:
    • p: PID/Count
    • n: Command
    • c: CPU
    • m: Mem
  • Process filtering:
    • /: start editing filter
    • (while editing):
      • <Enter>: accept filter
      • <C-c> and <Escape>: clear filter
  • CPU and Mem graph scaling:
    • h: scale in
    • l: scale out
  • ?: toggles keybind help menu

Mouse

  • click to select process
  • mouse wheel to scroll through processes

Colorschemes

ytop ships with a few colorschemes which can be set with the -c flag followed by the name of one. You can find all the colorschemes in the colorschemes folder.

To make a custom colorscheme, copy one of the default ones to ~/.config/ytop/<new-name>.json and load it with ytop -c <new-name>. Colorscheme PRs are welcome!

CLI Options

USAGE:
    ytop [FLAGS] [OPTIONS]

FLAGS:
    -a, --average-cpu    Show average CPU in the CPU widget.
    -b, --battery        Show Battery widget (overridden by 'minimal' flag).
    -f, --fahrenheit     Show temperatures in fahrenheit.
    -h, --help           Prints help information
    -m, --minimal        Only show the CPU, Mem, and Process widgets.
    -p, --per-cpu        Show each CPU in the CPU widget.
    -s, --statusbar      Show a statusbar with the time.
    -V, --version        Prints version information

OPTIONS:
    -c, --colorscheme <colorscheme>    Set a colorscheme. [default: default]
    -i, --interfaces <interfaces>      Comma separated list of network interfaces to show. Prepend an interface with '!'
                                       to hide it. 'all' shows all interfaces. [default: !tun0]
    -r, --rate <rate>                  Number of times per second to update the CPU and Mem widgets. [default: 1]