summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean E. Russell <ser@ser1.net>2020-02-23 08:13:43 -0600
committerSean E. Russell <ser@ser1.net>2020-02-23 08:13:43 -0600
commit8d767a448ea768f3fbad911f8fe38131a5044951 (patch)
treeb700f8a25486fd8f93b8578fd809efc7c935e41c
parentaf40172604692131386a04d7d9f59435e6974983 (diff)
Documentation clean-up.
-rw-r--r--README.md106
-rw-r--r--assets/screenshots/battery.pngbin95426 -> 124394 bytes
-rw-r--r--assets/screenshots/demo.gif (renamed from assets/demos/demo.gif)bin150039 -> 150039 bytes
-rw-r--r--assets/screenshots/kitchensink.gifbin0 -> 235143 bytes
-rw-r--r--assets/screenshots/minimal.pngbin44312 -> 88647 bytes
-rw-r--r--assets/screenshots/procs.pngbin0 -> 163651 bytes
-rw-r--r--layout/layout.go1
7 files changed, 34 insertions, 73 deletions
diff --git a/README.md b/README.md
index 0a47092..c37da93 100644
--- a/README.md
+++ b/README.md
@@ -9,8 +9,8 @@ Another terminal based graphical activity monitor, inspired by [gtop](https://gi
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/screenshots/minimal.png" width="96%" />
+<img src="./assets/screenshots/demo.gif" />
+<img src="./assets/screenshots/kitchensink.gif" />
</div>
@@ -111,12 +111,12 @@ and these are separated by spaces.
1. Each line is a row
2. Empty lines are skipped
3. Spaces are compressed (so you can do limited visual formatting)
-4. Legal widget names are: cpu, disk, mem, temp, batt, net, procs, power
+4. Legal widget names are: cpu, disk, mem, temp, batt, net, procs
5. Widget names are not case sensitive
4. The simplest row is a single widget, by name, e.g.
- ```
- cpu
- ```
+ ```
+ cpu
+ ```
5. **Weights**
1. Widgets with no weights have a weight of 1.
2. If multiple widgets are put on a row with no weights, they will all have
@@ -134,19 +134,19 @@ and these are separated by spaces.
second will be 5/7 ~= 67% wide (or, memory will be twice as wide as disk).
9. If prefixed by a number and colon, the widget will span that number of
rows downward. E.g.
- ```
- mem 2:cpu
- net
- ```
+ ```
+ mem 2:cpu
+ net
+ ```
Here, memory and network will be in the same row as CPU, one over the other,
and each half as high as CPU; it'll look like this:
- ```
- +------+------+
- | Mem | |
- +------+ CPU |
- | Net | |
- +------+------+
- ```
+ ```
+ +------+------+
+ | Mem | |
+ +------+ CPU |
+ | Net | |
+ +------+------+
+ ```
10. Negative, 0, or non-integer weights will be recorded as "1". Same for row
spans.
11. Unrecognized widget names will cause the application to abort.
@@ -163,71 +163,32 @@ and these are separated by spaces.
Yes, you're clever enough to break the layout algorithm, but if you try to
build massive edifices, you're in for disappointment.
-### Metrics
-
-gotop can export widget data as Prometheus metrics. This allows users to take
-snapshots of the current state of a machine running gotop, or to query gotop
-remotely.
-
-All metrics are in the `gotop` namespace, and are tagged with
-`goto_<widget>_<enum>`. Metrics are only exported for widgets
-that are enabled, and are updated with the same frequency as the configured
-update interval. Most widgets are exported as Prometheus gauges.
-
-Metrics are disabled by default, and must be enabled with the `--export` flag.
-The flag takes an interface port in the idiomatic Go format of
-`<addy>:<port>`; a common pattern is `-x :2112`. There is **no security**
-on this feature; I recommend that you run this bound to a localhost interface,
-e.g. `127.0.0.1:7653`, and if you want to access this remotely, run it behind
-a proxy that provides SSL and authentication such as
-[Caddy](https://caddyserver.com).
-
-Once enabled, any widgets that are enabled will appear in the HTTP payload of
-a call to `http://<addy>:<port>/metrics`. For example,
-
-```
-➜ ~ curl -s http://localhost:2112/metrics | egrep -e '^gotop'
-gotop_battery_0 0.6387792286668692
-gotop_cpu_0 12.871287128721228
-gotop_cpu_1 11.000000000001364
-gotop_disk_:dev:nvme0n1p1 0.63
-gotop_memory_main 49.932259713701434
-gotop_memory_swap 0
-gotop_net_recv 129461
-gotop_net_sent 218525
-gotop_temp_coretemp_core0 37
-gotop_temp_coretemp_core1 37
-```
-
-Disk metrics are reformatted to replace `/` with `:` which makes them legal
-Prometheus names:
-
-```
-➜ ~ curl -s http://localhost:2112/metrics | egrep -e '^gotop_disk' | tr ':' '/'
-gotop_disk_/dev/nvme0n1p1 0.63
-```
-
-This feature satisfies a ticket request to provide a "snapshot" for comparison
-with a known state, but it is also foundational for a future feature where
-widgets can be configured with virtual devices fed by data from remote gotop
-instances. The objective for that feature is to allow monitoring of multiple
-remote VMs without having to have a wall of gotops running on a large monitor.
-
### CLI Options
`-c`, `--color=NAME` Set a colorscheme.
-`-m`, `--minimal` Only show CPU, Mem and Process widgets. (DEPRECATED for `-l minimal`)
+`-m`, `--minimal` Only show CPU, Mem and Process widgets. (DEPRECATED, use `-l minimal`)
`-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.
`-f`, `--fahrenheit` Show temperatures in fahrenheit.
`-s`, `--statusbar` Show a statusbar with the time.
-`-b`, `--battery` Show battery level widget (`minimal` turns off). [preview](./assets/screenshots/battery.png) (DEPRECATED for `-l battery`)
-`-i`, `--interface=NAME` Select network interface. Several interfaces can be defined using comma separated values. Interfaces can also be ignored by prefixing the interface with `!` [default: all].
-`-l`, `--layout=NAME` Choose a layout. gotop searches for a file by NAME in \$XDG_CONFIG_HOME/gotop, then relative to the current path. "-" reads a layout from stdin, allowing for simple, one-off layouts such as `echo net | gotop -l -`
-`-x`, `--export=PORT` Enable metrics for export on the specified port. This feature is disabled by default.
+`-b`, `--battery` Show battery level widget (`minimal` turns off). (DEPRECATED, use `-l battery`)
+`-i`, `--interface=NAME` Select network interface [default: all].
+`-l`, `--layout=NAME` Choose a layout. gotop searches for a file by NAME in \$XDG_CONFIG_HOME/gotop, then relative to the current path. "-" reads a layout from stdin, allowing for simple, one-off layouts such as `echo net | gotop -l -`
+
+Several interfaces can be defined using comma separated values.
+
+Interfaces can also be ignored using `!`
+
+## More screen shots
+#### "-l battery"
+<img src="./assets/screenshots/battery.png" />
+#### "-l minimal"
+<img src="./assets/screenshots/minimal.png" />
+#### Custom (layouts/procs)
+<img src="./assets/screenshots/procs.png" />
## Built With
@@ -237,4 +198,3 @@ remote VMs without having to have a wall of gotops running on a large monitor.
- [shirou/gopsutil](https://github.com/shirou/gopsutil)
- [goreleaser/nfpm](https://github.com/goreleaser/nfpm)
- [distatus/battery](https://github.com/distatus/battery)
-- [prometheus/client_golang](https://github.com/prometheus/client_golang)
diff --git a/assets/screenshots/battery.png b/assets/screenshots/battery.png
index b70f2ab..4698d1a 100644
--- a/assets/screenshots/battery.png
+++ b/assets/screenshots/battery.png
Binary files differ
diff --git a/assets/demos/demo.gif b/assets/screenshots/demo.gif
index 7ed5d1c..7ed5d1c 100644
--- a/assets/demos/demo.gif
+++ b/assets/screenshots/demo.gif
Binary files differ
diff --git a/assets/screenshots/kitchensink.gif b/assets/screenshots/kitchensink.gif
new file mode 100644
index 0000000..6061c84
--- /dev/null
+++ b/assets/screenshots/kitchensink.gif
Binary files differ
diff --git a/assets/screenshots/minimal.png b/assets/screenshots/minimal.png
index efe5cc3..354b60b 100644
--- a/assets/screenshots/minimal.png
+++ b/assets/screenshots/minimal.png
Binary files differ
diff --git a/assets/screenshots/procs.png b/assets/screenshots/procs.png
new file mode 100644
index 0000000..0e4e7a6
--- /dev/null
+++ b/assets/screenshots/procs.png
Binary files differ
diff --git a/layout/layout.go b/layout/layout.go
index 0ab6b54..dabae82 100644
--- a/layout/layout.go
+++ b/layout/layout.go
@@ -258,6 +258,7 @@ func countMaxHeight(rs [][]widgetRule) int {
// deepFindProc looks in the UI widget tree for the ProcWidget,
// and returns it if found or nil if not.
func deepFindProc(gs interface{}) *widgets.ProcWidget {
+ // FIXME: `procs` layout isn't passing down keystrokes
// Recursive function #1. Recursion is OK here because the number
// of UI elements, even in a very complex UI, is going to be
// relatively small.