xmtop/README.md
2018-02-19 02:00:26 -08:00

3.2 KiB

gotop

image

Another TUI graphical activity monitor, inspired by vtop and gtop, this time written in Go!
Built with gopsutil, drawille-go, and a heavily modified version of termui which uses termbox-go.

Installation

Go code compiles to a single executable so you just need to somehow get that into your $PATH.

Either manually download the latest release for your OS from the releases tab and move it into /usr/bin, or run this command to do it for you:

curl https://raw.githubusercontent.com/cjbassi/gotop/master/install.sh | sudo sh

If you install this way, starting gotop with the -u flag or pressing u in gotop will check to see if there is a newer version available and automatically update if so.

Windows is currently untested/unsupported but PR's for fixing that are welcome.

Arch Linux

Alternatively, if you're on Arch Linux you can install the gotop package from the AUR.

Keybinds

  • Quit: q or Ctrl-c
  • Navigation:
    • <up>/<down> and j/k: up and down
    • C-d and C-u: up and down half a page
    • C-f and C-b: up and down a full page
    • gg and G: jump to top and bottom
  • Process Sorting:
    • c: CPU
    • m: Mem
    • p: PID
  • <tab>: toggle process grouping
  • dd: kill the selected process or process group
  • <left>/<right> and h/l: zoom in and out of graphs
  • ?: toggles keybind help menu
  • u: update gotop

Mouse Control

  • mouse wheel to scroll Process List
  • click to select process

Colorschemes

A different Colorscheme can be set with the -c startup flag followed its name, all of which can be found in the colorschemes folder.
Feel free to add a new one. You can use 256 colors for them, including bold, underline, and reverse. More info here and here under 'Output256'.

TODO

  • Network Usage
    • increase height of sparkline depending on widget size
  • Process List
    • memory total goes above 100%
    • extract out column position logic into a function
  • Disk Usage
    • color percentage
    • change bar color to white
  • CPU Usage
    • Support colors for more CPU cores
  • general
    • option to set polling interval for CPU and mem
    • more themes
    • zooming in and out of graphs
    • updating
    • option to only show processes, CPU, and mem
    • gif of gotop
    • more packages
  • cleaning up code
    • termui Blocks should ignore writing to the outside area
      • Ignore writes to outside of inner area, or give error?
    • termui Blocks should be indexed at 0, and maybe change X and Y variables too
    • remove gotop unique logic from termui widgets
    • try to get drawille fork merged upstream
    • more documentation
    • Draw borders and label after other stuff
    • Only merge stuff in the range
    • Merge should include offset
    • Remove merge from grid buffer function, just render
    • Remove merge altogether

License

AGPLv3