Switching maintainership.

This commit is contained in:
Sean E. Russell 2020-02-13 16:26:28 -06:00
parent 47413695ce
commit 38d7736ca0
25 changed files with 61 additions and 85 deletions

View File

@ -13,6 +13,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
> - **Fixed**: for any bug fixes. > - **Fixed**: for any bug fixes.
> - **Security**: in case of vulnerabilities. > - **Security**: in case of vulnerabilities.
## [3.1.0] - 2020-02-13
Re-homed the project after the original fork (trunk?) was marked as
unmaintained by cjbassi.
- Merges @HowJMay spelling fixes
- Merges @markuspeloquin solarized themes
- Merges @jrswab additional kill terms
- Adds the ability to lay out the UI using a text file
- Changed the project filesystem layout to be more idiomatic
## [Unreleased] ## [Unreleased]
### Added ### Added

View File

@ -7,6 +7,8 @@
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/)! 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/)!
The original author of gotop has re-implemented the application in Rust, as [ytop](https://github.com/cjbassi/ytop). This is a fork of original gotop project with a new maintainer.
<img src="./assets/demos/demo.gif" /> <img src="./assets/demos/demo.gif" />
<img src="./assets/screenshots/minimal.png" width="96%" /> <img src="./assets/screenshots/minimal.png" width="96%" />
@ -19,52 +21,16 @@ Working and tested on Linux, FreeBSD and macOS. Windows support is planned. Open
### Source ### Source
```bash ```bash
go get github.com/cjbassi/gotop go get github.com/xxxserxxx/gotop/...
``` ```
### Prebuilt binaries ### Prebuilt binaries
**Note**: Doesn't require Go. **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): Visit [here](https://github.com/xxxserxxx/gotop/releases) with your web browser and download a version that works for you.
```bash Unzip it and then move `gotop` into your `$PATH` somewhere. If you're on a Debian or Redhat derivative, you can download an `.rpm` or `.deb` to install.
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 ## Usage
@ -82,7 +48,9 @@ snap connect gotop-cjbassi:system-observe
- `G` and `<End>`: jump to bottom - `G` and `<End>`: jump to bottom
- Process actions: - Process actions:
- `<Tab>`: toggle process grouping - `<Tab>`: toggle process grouping
- `dd`: kill selected process or group of processes - `dd`: kill selected process or group of processes with SIGTERM
- `d3`: kill selected process or group of processes with SIGQUIT
- `d9`: kill selected process or group of processes with SIGKILL
- Process sorting - Process sorting
- `c`: CPU - `c`: CPU
- `m`: Mem - `m`: Mem
@ -194,7 +162,3 @@ build massive edifices, you're in for disappointment.
- [shirou/gopsutil](https://github.com/shirou/gopsutil) - [shirou/gopsutil](https://github.com/shirou/gopsutil)
- [goreleaser/nfpm](https://github.com/goreleaser/nfpm) - [goreleaser/nfpm](https://github.com/goreleaser/nfpm)
- [distatus/battery](https://github.com/distatus/battery) - [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)

View File

@ -4,12 +4,12 @@ platform: "linux"
version: "v${VERSION}" version: "v${VERSION}"
section: "default" section: "default"
priority: "extra" priority: "extra"
maintainer: "Caleb Bassi <calebjbassi@gmail.com>" maintainer: "Sean Russell <ser@ser1.net>"
description: | description: |
A terminal based graphical activity monitor inspired by gtop and vtop A terminal based graphical activity monitor inspired by gtop and vtop
vendor: "Caleb Bassi" vendor: "Sean Russell"
homepage: "https://github.com/cjbassi/gotop" homepage: "https://github.com/xxxserxxx/gotop"
license: "GNU Affero General Public License v3.0" license: "GNU Affero General Public License v3.0"
bindir: "/usr/local/bin" bindir: "/usr/local/bin"
files: files:
/tmp/dist/gotop: "/usr/local/bin/gotop" dist/gotop: "/usr/local/bin/gotop"

View File

@ -16,12 +16,12 @@ import (
docopt "github.com/docopt/docopt.go" docopt "github.com/docopt/docopt.go"
ui "github.com/gizak/termui/v3" ui "github.com/gizak/termui/v3"
"github.com/cjbassi/gotop" "github.com/xxxserxxx/gotop"
"github.com/cjbassi/gotop/colorschemes" "github.com/xxxserxxx/gotop/colorschemes"
"github.com/cjbassi/gotop/layout" "github.com/xxxserxxx/gotop/layout"
"github.com/cjbassi/gotop/logging" "github.com/xxxserxxx/gotop/logging"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
w "github.com/cjbassi/gotop/widgets" w "github.com/xxxserxxx/gotop/widgets"
) )
const ( const (

View File

@ -4,10 +4,11 @@ import (
"io" "io"
"time" "time"
"github.com/cjbassi/gotop/colorschemes" "github.com/xxxserxxx/gotop/colorschemes"
"github.com/cjbassi/gotop/widgets" "github.com/xxxserxxx/gotop/widgets"
) )
// TODO: Cross-compiling for darwin, openbsd requiring native procs & temps
type Config struct { type Config struct {
ConfigDir string ConfigDir string
LogDir string LogDir string

2
go.mod
View File

@ -1,4 +1,4 @@
module github.com/cjbassi/gotop module github.com/xxxserxxx/gotop
require ( require (
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect

View File

@ -5,8 +5,8 @@ import (
"log" "log"
"sort" "sort"
"github.com/cjbassi/gotop" "github.com/xxxserxxx/gotop"
"github.com/cjbassi/gotop/widgets" "github.com/xxxserxxx/gotop/widgets"
ui "github.com/gizak/termui/v3" ui "github.com/gizak/termui/v3"
) )
@ -29,7 +29,7 @@ type MyGrid struct {
var widgetNames []string = []string{"cpu", "disk", "mem", "temp", "net", "procs", "batt"} var widgetNames []string = []string{"cpu", "disk", "mem", "temp", "net", "procs", "batt"}
// BUG 2:disk mem\nnet loses the widget from the second line // FIXME 2:disk mem\nnet loses the widget from the second line
func Layout(wl layout, c gotop.Config) (*MyGrid, error) { func Layout(wl layout, c gotop.Config) (*MyGrid, error) {
rowDefs := wl.Rows rowDefs := wl.Rows
uiRows := make([]ui.GridItem, 0) uiRows := make([]ui.GridItem, 0)

View File

@ -8,9 +8,9 @@ function get_latest_release {
} }
function download { function download {
RELEASE=$(get_latest_release 'cjbassi/gotop') RELEASE=$(get_latest_release 'xxxserxxx/gotop')
ARCHIVE=gotop_${RELEASE}_${1}.tgz ARCHIVE=gotop_${RELEASE}_${1}.tgz
curl -LO https://github.com/cjbassi/gotop/releases/download/${RELEASE}/${ARCHIVE} curl -LO https://github.com/xxxserxxx/gotop/releases/download/${RELEASE}/${ARCHIVE}
tar xf ${ARCHIVE} tar xf ${ARCHIVE}
rm ${ARCHIVE} rm ${ARCHIVE}
} }

View File

@ -1,4 +1,4 @@
name: gotop-cjbassi name: gotop-xxxserxxx
base: core18 base: core18
version: determined-by-version-script version: determined-by-version-script
version-script: git describe --always --tags --dirty version-script: git describe --always --tags --dirty
@ -15,7 +15,7 @@ parts:
gotop: gotop:
source: . source: .
plugin: go plugin: go
go-importpath: github.com/cjbassi/gotop go-importpath: github.com/xxxserxxx/gotop
build-packages: build-packages:
- git-core - git-core
- gcc - gcc
@ -31,7 +31,7 @@ plugs:
system-observe: system-observe:
apps: apps:
gotop-cjbassi: gotop-xxxserxxx:
command: bin/gotop command: bin/gotop
environment: environment:
LANG: C.UTF-8 LANG: C.UTF-8

View File

@ -4,7 +4,7 @@ import (
"image" "image"
"sort" "sort"
drawille "github.com/cjbassi/gotop/termui/drawille-go" drawille "github.com/xxxserxxx/gotop/termui/drawille-go"
. "github.com/gizak/termui/v3" . "github.com/gizak/termui/v3"
) )

View File

@ -9,7 +9,7 @@ import (
"github.com/distatus/battery" "github.com/distatus/battery"
ui "github.com/cjbassi/gotop/termui" ui "github.com/xxxserxxx/gotop/termui"
) )
type BatteryWidget struct { type BatteryWidget struct {

View File

@ -8,7 +8,7 @@ import (
psCpu "github.com/shirou/gopsutil/cpu" psCpu "github.com/shirou/gopsutil/cpu"
ui "github.com/cjbassi/gotop/termui" ui "github.com/xxxserxxx/gotop/termui"
) )
type CpuWidget struct { type CpuWidget struct {

View File

@ -9,8 +9,8 @@ import (
psDisk "github.com/shirou/gopsutil/disk" psDisk "github.com/shirou/gopsutil/disk"
ui "github.com/cjbassi/gotop/termui" ui "github.com/xxxserxxx/gotop/termui"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
type Partition struct { type Partition struct {

View File

@ -7,8 +7,8 @@ import (
psMem "github.com/shirou/gopsutil/mem" psMem "github.com/shirou/gopsutil/mem"
ui "github.com/cjbassi/gotop/termui" ui "github.com/xxxserxxx/gotop/termui"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
type MemWidget struct { type MemWidget struct {

View File

@ -7,7 +7,7 @@ import (
"strconv" "strconv"
"strings" "strings"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
func convert(s []string) (MemoryInfo, error) { func convert(s []string) (MemoryInfo, error) {

View File

@ -7,8 +7,8 @@ import (
psNet "github.com/shirou/gopsutil/net" psNet "github.com/shirou/gopsutil/net"
ui "github.com/cjbassi/gotop/termui" ui "github.com/xxxserxxx/gotop/termui"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
const ( const (

View File

@ -10,8 +10,8 @@ import (
psCPU "github.com/shirou/gopsutil/cpu" psCPU "github.com/shirou/gopsutil/cpu"
ui "github.com/cjbassi/gotop/termui" ui "github.com/xxxserxxx/gotop/termui"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
const ( const (

View File

@ -8,7 +8,7 @@ import (
"strconv" "strconv"
"strings" "strings"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
type processList struct { type processList struct {

View File

@ -9,7 +9,7 @@ import (
"strconv" "strconv"
"strings" "strings"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
const ( const (

View File

@ -8,7 +8,7 @@ import (
ui "github.com/gizak/termui/v3" ui "github.com/gizak/termui/v3"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
type TempScale int type TempScale int

View File

@ -6,7 +6,7 @@ import "C"
import ( import (
"log" "log"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
type TemperatureStat struct { type TemperatureStat struct {

View File

@ -7,7 +7,7 @@ import (
"strconv" "strconv"
"strings" "strings"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
var sensorOIDS = map[string]string{ var sensorOIDS = map[string]string{

View File

@ -6,7 +6,7 @@ import (
psHost "github.com/shirou/gopsutil/host" psHost "github.com/shirou/gopsutil/host"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
func (self *TempWidget) update() { func (self *TempWidget) update() {

View File

@ -12,7 +12,7 @@ import (
"syscall" "syscall"
"unsafe" "unsafe"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
func (self *TempWidget) getTemp(mib []C.int, mlen int, snsrdev *C.struct_sensordev, index int) { func (self *TempWidget) getTemp(mib []C.int, mlen int, snsrdev *C.struct_sensordev, index int) {

View File

@ -5,7 +5,7 @@ import (
psHost "github.com/shirou/gopsutil/host" psHost "github.com/shirou/gopsutil/host"
"github.com/cjbassi/gotop/utils" "github.com/xxxserxxx/gotop/utils"
) )
func (self *TempWidget) update() { func (self *TempWidget) update() {