2018-04-12 01:51:51 +08:00
< div align = "center" >
2018-02-19 15:25:02 +08:00
2018-05-11 12:26:55 +08:00
< img src = "https://github.com/cjbassi/gotop/blob/master/assets/logo.png" width = "20%" / >
2018-04-16 07:28:47 +08:00
< 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-05-11 12:26:55 +08:00
< img src = "https://github.com/cjbassi/gotop/blob/master/assets/demo.gif" / >
< img src = "https://github.com/cjbassi/gotop/blob/master/assets/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-08-17 07:29:31 +08:00
Working and tested on Linux and OSX. Windows support is planned.
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-05-16 02:06:35 +08:00
Clone the repo and then run [scripts/download.sh ](https://github.com/cjbassi/gotop/blob/master/scripts/download.sh ) to download the correct binary for your system from the [releases tab ](https://github.com/cjbassi/gotop/releases ):
2018-04-14 07:46:27 +08:00
2018-04-21 02:02:06 +08:00
```sh
2018-05-11 12:37:54 +08:00
git clone --depth 1 https://github.com/cjbassi/gotop /tmp/gotop
/tmp/gotop/scripts/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-05-24 12:51:33 +08:00
### Homebrew
```
brew tap cjbassi/gotop
brew install gotop
```
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-02-21 10:57:18 +08:00
## Usage
### Keybinds
2018-02-19 15:25:02 +08:00
2018-08-17 07:29:31 +08:00
- Quit: `q` or `<C-c>`
- Process 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
- `h` and `l` : zoom in and out of CPU and Mem graphs
- `?` : toggles keybind help menu
2018-05-11 15:56:44 +08:00
2018-02-21 11:03:53 +08:00
### Mouse
2018-02-19 15:25:02 +08:00
2018-08-17 07:29:31 +08:00
- click to select process
- 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-09-19 04:42:49 +08:00
gotop 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 [colorschemes ](https://github.com/cjbassi/gotop/tree/master/colorschemes ).
To make a custom colorscheme, check out the [template ](https://github.com/cjbassi/gotop/blob/master/colorschemes/template.go ) for instructions and then use [default.json ](https://github.com/cjbassi/gotop/blob/master/colorschemes/default.json ) as a starter. Then you can put the file at `~/.config/gotop/{name}.json` and load it with `gotop -c {name}` . Colorschemes PR's are welcome!
2018-05-11 15:56:44 +08:00
2018-03-10 05:36:54 +08:00
### CLI Options
2018-08-17 07:29:31 +08:00
`-c` , `--color=NAME` Set a colorscheme.
`-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].
`-v` , `--version` Show version.
2018-09-19 07:39:41 +08:00
`-p` , `--percpu` Show each CPU in the CPU widget.
2018-08-17 07:29:31 +08:00
`-a` , `--averagecpu` Show average CPU in the CPU widget.
2018-04-12 02:23:19 +08:00
2018-10-12 23:49:58 +08:00
## Building deb/rpms
To build dep/rpms using [nfpm ](https://github.com/goreleaser/nfpm ):
```bash
make all
```
This will place the built packages into the `pkg` folder.
2018-04-12 02:23:19 +08:00
## Credits
2018-08-17 07:29:31 +08:00
- [mdnazmulhasan27771 ](https://github.com/mdnazmulhasan27771 ) for the [logo ](https://github.com/cjbassi/gotop/blob/master/assets/logo.png )
- [f1337 ](https://github.com/f1337 ) for helping port gotop to OSX
2018-04-12 02:23:19 +08:00
2018-04-14 08:02:10 +08:00
## Built With
2018-08-17 07:29:31 +08:00
- [cjbassi/termui ](https://github.com/cjbassi/termui )
- [drawille-go ](https://github.com/exrook/drawille-go )
- [termbox ](https://github.com/nsf/termbox-go )
- [gopsutil ](https://github.com/shirou/gopsutil )
- [goreleaser ](https://github.com/goreleaser/goreleaser )
2018-04-14 08:02:10 +08:00
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)