Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cjbassi/gotop
A terminal based graphical activity monitor inspired by gtop and vtop
https://github.com/cjbassi/gotop
go golang linux mouse osx terminal tui
Last synced: 3 months ago
JSON representation
A terminal based graphical activity monitor inspired by gtop and vtop
- Host: GitHub
- URL: https://github.com/cjbassi/gotop
- Owner: cjbassi
- License: agpl-3.0
- Archived: true
- Created: 2018-02-19T07:25:22.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-30T19:45:21.000Z (over 1 year ago)
- Last Synced: 2024-09-21T00:01:56.446Z (3 months ago)
- Topics: go, golang, linux, mouse, osx, terminal, tui
- Language: Go
- Homepage:
- Size: 3.39 MB
- Stars: 7,360
- Watchers: 98
- Forks: 437
- Open Issues: 73
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - cjbassi/gotop
- awesome-starred-test - cjbassi/gotop - A terminal based graphical activity monitor inspired by gtop and vtop (Go)
- awesome-repositories - cjbassi/gotop
- awesome-github-star - gotop
- go-awesome - gotop - similar top system monitor display (Open source library / Command Line)
- awesome-list - gotop
README
### **NO LONGER MAINTAINED.** A maintained fork of gotop exists at https://github.com/xxxserxxx/gotop.
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/)!
## Installation
Working and tested on Linux, FreeBSD and macOS. Windows support is planned. OpenBSD works with some caveats.
### Source
```bash
go get github.com/cjbassi/gotop
```### Prebuilt binaries
**Note**: Doesn't require Go.
Clone the repo and then run [scripts/download.sh](./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 `gotop`, `gotop-bin`, or `gotop-git` from the AUR.
### FreeBSD
```bash
pkg install gotop
```### Homebrew
```bash
brew tap cjbassi/gotop
brew install gotop
```### Snap
```bash
snap install gotop-cjbassi
```**Note**: You may need to enable certain permissions for all of the widgets to work:
```bash
snap connect gotop-cjbassi:hardware-observe
snap connect gotop-cjbassi:mount-observe
snap connect gotop-cjbassi:system-observe
```## Usage
### Keybinds
- Quit: `q` or ``
- Process navigation
- `k` and ``: up
- `j` and ``: half page up
- ``: half page down
- ``: full page up
- ``: full page down
- `gg` and ``: jump to top
- `G` and ``: jump to bottom
- Process actions:
- ``: toggle process grouping
- `dd`: kill selected process or group of processes
- Process sorting
- `c`: CPU
- `m`: Mem
- `p`: PID
- CPU and Mem graph scaling:
- `h`: scale in
- `l`: scale out
- `?`: 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 the [colorschemes folder](./colorschemes).
To make a custom colorscheme, check out the [template](./colorschemes/template.go) for instructions and then use [default.json](./colorschemes/default.json) as a starter. Then put the file at `~/.config/gotop/.json` and load it with `gotop -c `. 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` Print version and exit.
`-p`, `--percpu` Show each CPU in the CPU widget.
`-a`, `--averagecpu` Show average CPU in the CPU widget.
`-s`, `--statusbar` Show a statusbar with the time.
`-b`, `--battery` Show battery level widget (`minimal` turns off). [preview](./assets/screenshots/battery.png)
`-i`, `--interface=NAME` Select network interface [default: all].## Built With
- [gizak/termui](https://github.com/gizak/termui)
- [nsf/termbox](https://github.com/nsf/termbox-go)
- [exrook/drawille-go](https://github.com/exrook/drawille-go)
- [shirou/gopsutil](https://github.com/shirou/gopsutil)
- [goreleaser/nfpm](https://github.com/goreleaser/nfpm)
- [distatus/battery](https://github.com/distatus/battery)## Stargazers over time
[![Stargazers over time](https://starcharts.herokuapp.com/cjbassi/gotop.svg)](https://starcharts.herokuapp.com/cjbassi/gotop)