2018-04-12 01:51:51 +08:00
< div align = "center" >
2018-02-19 15:25:02 +08:00
2018-04-16 07:28:47 +08:00
< img src = "https://github.com/cjbassi/gotop/blob/master/media/logo.png" width = "20%" / >
< br > < br >
Another terminal based graphical activity monitor, inspired by [gtop ](https://github.com/aksakalli/gtop ) and [vtop ](https://github.com/MrRio/vtop ), this time written in [Go ](https://golang.org/ )!
2018-02-19 15:25:02 +08:00
2018-03-23 07:35:16 +08:00
< img src = "https://github.com/cjbassi/gotop/blob/master/media/demo.gif" / >
2018-04-13 14:13:02 +08:00
< img src = "https://github.com/cjbassi/gotop/blob/master/media/minimal.png" width = "96%" / >
2018-03-05 13:19:31 +08:00
2018-04-16 07:28:47 +08:00
< / div >
2018-02-19 15:25:02 +08:00
## Installation
2018-05-05 07:47:42 +08:00
Only working and tested on Linux. OSX is no longer supported due to issues with gopsutil, but that is currently being worked on. Windows support is also in the works.
2018-02-21 11:38:59 +08:00
2018-04-16 15:56:50 +08:00
Go programs compile to a single binary and there are currently prebuilt ones for 32/64bit Linux and ARM Linux.
2018-04-16 07:36:45 +08:00
2018-04-10 02:06:23 +08:00
### Using Git
2018-02-19 15:25:02 +08:00
2018-04-14 07:46:27 +08:00
Clone the repo then run [download.sh ](https://github.com/cjbassi/gotop/blob/master/download.sh ) to download the correct binary:
2018-04-21 02:02:06 +08:00
```sh
2018-04-10 02:06:23 +08:00
git clone --depth 1 https://github.com/cjbassi/gotop.git /tmp/gotop
/tmp/gotop/download.sh
2018-02-23 06:42:26 +08:00
```
2018-02-19 15:25:02 +08:00
2018-02-26 14:51:51 +08:00
Then move `gotop` into your $PATH somewhere.
2018-02-19 15:25:02 +08:00
### Arch Linux
2018-04-10 02:06:23 +08:00
Install the `gotop-bin` package from the AUR.
2018-02-19 15:25:02 +08:00
2018-02-21 11:38:59 +08:00
### Source
2018-04-21 02:02:06 +08:00
```sh
2018-02-23 06:42:26 +08:00
go get github.com/cjbassi/gotop
```
2018-02-21 11:38:59 +08:00
2018-05-05 07:47:42 +08:00
### Docker
```
docker run -it --rm cjbassi/gotop
```
Note: Process list doesn't work using Docker.
2018-02-19 15:25:02 +08:00
2018-02-21 10:57:18 +08:00
## Usage
### Keybinds
2018-02-19 15:25:02 +08:00
2018-03-05 12:00:55 +08:00
* Quit: `q` or `<C-c>`
2018-03-10 08:29:05 +08:00
* Process Navigation:
2018-02-19 15:25:02 +08:00
* `<up>` /`< down > ` and `j` /`k`: up and down
2018-03-05 12:00:55 +08:00
* `<C-d>` and `<C-u>` : up and down half a page
* `<C-f>` and `<C-b>` : up and down a full page
2018-02-19 15:25:02 +08:00
* `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
2018-03-10 08:29:05 +08:00
* `h` and `l` : zoom in and out of CPU and Mem graphs
2018-02-19 15:25:02 +08:00
* `?` : toggles keybind help menu
2018-02-21 11:03:53 +08:00
### Mouse
2018-02-19 15:25:02 +08:00
* click to select process
2018-02-26 14:51:51 +08:00
* mouse wheel to scroll through processes
2018-02-19 15:25:02 +08:00
2018-03-10 05:36:54 +08:00
### Colorschemes
2018-02-19 15:25:02 +08:00
2018-02-20 03:54:04 +08:00
A different Colorscheme can be set with the `-c` flag followed its name. You can find them in the `colorschemes` folder.
2018-02-21 15:57:27 +08:00
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 ](https://github.com/cjbassi/gotop/blob/master/colorschemes/template.go ) and see the default colorscheme as an example [here ](https://github.com/cjbassi/gotop/blob/master/colorschemes/default.go ).
2018-03-10 05:36:54 +08:00
### CLI Options
`-m` , `--minimal` Only show CPU, Mem and Process widgets.
`-r` , `--rate=RATE` Number of times per second to update CPU and Mem widgets [default: 1].
2018-04-10 10:15:25 +08:00
2018-04-12 02:23:19 +08:00
## Credits
* [Logo ](https://github.com/cjbassi/gotop/blob/master/media/logo.png ) by [mdnazmulhasan27771 ](https://github.com/mdnazmulhasan27771 )
2018-04-14 08:02:10 +08:00
## Built With
2018-04-15 00:01:15 +08:00
* [My termui fork ](https://github.com/cjbassi/termui )
* [drawille-go ](https://github.com/exrook/drawille-go )
* [termbox ](https://github.com/nsf/termbox-go )
2018-04-14 08:02:10 +08:00
* [gopsutil ](https://github.com/shirou/gopsutil )
* [goreleaser ](https://github.com/goreleaser/goreleaser )
2018-04-10 10:15:25 +08:00
## Stargazers over time
[![Stargazers over time ](https://starcharts.herokuapp.com/cjbassi/gotop.svg )](https://starcharts.herokuapp.com/cjbassi/gotop)