2.7 KiB
2.7 KiB
gotop
Another TUI graphical activity monitor, inspired by gtop and vtop, this time written in Go!
Built with gopsutil, drawille-go, and a modified version of termui.
Installation
Binaries
Binaries are currently available for 32/64bit Linux and 64bit OSX.
To download the latest binary for your system from GitHub, you can run the download script:
sh -c "$(curl https://raw.githubusercontent.com/cjbassi/gotop/master/download.sh)"
Then move gotop
into your $PATH somewhere.
Arch Linux
Alternatively, if you're on Arch Linux, you can install the gotop
package from the AUR.
Source
go get github.com/cjbassi/gotop
Usage
Keybinds
- Quit:
q
or<C-c>
- Navigation:
<up>
/<down>
andj
/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 pagegg
andG
: jump to top and bottom
- Process Sorting:
c
: CPUm
: Memp
: PID
<tab>
: toggle process groupingdd
: kill the selected process or process group?
: toggles keybind help menu
Mouse
- click to select process
- mouse wheel to scroll through processes
Colorschemes
A different Colorscheme can be set with the -c
flag followed its name. You can find them in the colorschemes
folder.
Feel free to add a new one. You can use 256 colors, bold, underline, and reverse. You can see the template and get more info here and see the default colorscheme as an example here.
TODO
- Network Usage
- increase height of sparkline depending on widget size
- Process List
- memory total goes above 100%
- Graphs
- zooming in and out of graphs
- command line option to set polling interval for CPU and mem
- general
- command line option to only show processes, CPU, and mem
- gopsutil cross-compiling issue on linux_amd64 for darwin_i386
- try to get the drawille fork merged upstream
- termui code cleanup
- termui buffers should ignore characters set outside the widget area
- ignore writes or give an error?
- termui Blocks should be indexed at 0, and maybe change their X and Y variables too
- draw borders and label after widget contents
- only merge buffers that are within the original's area
- termui buffers should ignore characters set outside the widget area