# gotop
**Repository Path**: iliangwei/gotop
## Basic Information
- **Project Name**: gotop
- **Description**: A terminal based graphical activity monitor inspired by gtop and vtop
- **Primary Language**: Go
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-17
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## Installation
Working and tested on Linux and OSX. Windows support is planned.
### Using Git
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):
```bash
git clone --depth 1 https://github.com/cjbassi/gotop /tmp/gotop
/tmp/gotop/scripts/download.sh
```
Then move `gotop` into your $PATH somewhere.
### Arch Linux
Install the `gotop-bin` package from the AUR.
### Homebrew
```
brew tap cjbassi/gotop
brew install gotop
```
### Source
```bash
go get github.com/cjbassi/gotop
```
## Usage
### Keybinds
- Quit: `q` or ``
- Process Navigation:
- ``/`` and `j`/`k`: up and down
- `` and ``: up and down half a page
- `` and ``: up and down a full page
- `gg` and `G`: jump to top and bottom
- Process Sorting:
- `c`: CPU
- `m`: Mem
- `p`: PID
- ``: 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
### Mouse
- click to select process
- mouse wheel to scroll through processes
### Colorschemes
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!
### CLI Options
`-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.
`-p`, `--percpu` Show each CPU in the CPU widget.
`-a`, `--averagecpu` Show average CPU in the CPU widget.
## 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 `dist` folder.
## Credits
- [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
## Built With
- [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)
## Stargazers over time
[](https://starcharts.herokuapp.com/cjbassi/gotop)