Skip to content
hakuxyzPublic

About

ytop - another TUI system monitor written in Rust (maintained fork of cjbassi/ytop)

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ytop

Another TUI based system monitor, this time in Rust!

This repository is a maintained fork of cjbassi/ytop, which has not been maintained since 2020. All credit for the original project goes to Caleb Bassi (@cjbassi).

What's new in this fork

  • FreeBSD support: every widget works without psutil, reading sysctl, getfsstat and getifaddrs directly
  • Process filtering: press / to filter processes by name or command line
  • Mouse support: click to select a process and use the mouse wheel to scroll through the process list; run with -M/--no-mouse to disable mouse capture
  • macOS process command lines: read via KERN_PROCARGS2, since psutil does not implement them on macOS
  • migrated from tui-rs to ratatui
  • Builds on current stable Rust again (dependency and toolchain refresh)

Missing features

  • macOS and FreeBSD are missing disk io counters

Installation

ytop runs on Linux, macOS and FreeBSD.

From crates.io

cargo install ytop-rs

The package is called ytop-rs on crates.io (the name ytop belongs to the original author), but the installed binary is simply called ytop.

From source

cargo install --git https://github.com/hakuxyz/ytop

Prebuilt binaries

Prebuilt binaries are provided in the releases tab.

Packages of the original project

Packaging status

The AUR (ytop, ytop-bin, ytop-git), the COPR package and the Homebrew tap all track the original unmaintained upstream.

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 the filter and stop editing
    • <Escape>: clear an already accepted filter
  • CPU and Mem graph scaling:
    • h: scale in
    • l: scale out
  • ?: toggles keybind help menu

Mouse

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

Mouse capture is enabled by default and can be turned off with the -M/--no-mouse flag.

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

ytop 0.7.0

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

    -M, --no-mouse
            Disable mouse capture

    -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>
            Colorschemes:
                - default
                - default-dark (for white backgrounds)
                - solarized-dark
                - monokai
                - vice
             [default: default]
    -i, --interface <interface>
            The name of the network interface to show in the Net widget. 'all' shows all interfaces [default: all]

    -I, --interval <interval>
            Interval in seconds between updates of the CPU and Mem widgets. Can specify either a whole number or a
            fraction with a numerator of 1 [default: 1]

Credits

ytop was created by Caleb Bassi. This fork continues the original project at https://github.com/hakuxyz/ytop - please credit the original repository and its author when redistributing.

Related projects

About

ytop - another TUI system monitor written in Rust (maintained fork of cjbassi/ytop)

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages