id = "gotop"
name = "gotop"
homepage = "https://github.com/xxxserxxx/gotop"
description = "Another terminal based graphical activity monitor, inspired by gtop and vtop, this time written in Go!"
executables = ["gotop"]
[dotfiles]
paths = ["[appData]/gotop/", "[configHome]/gotop/", "%APPDATA%/gotop/"]
secret = []
[commands]
format = 1
label = "Run gotop"
description = "Start the gotop system monitor with a chosen layout, colour scheme and refresh rate. Remote monitoring, device filters, extensions and config-file options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/xxxserxxx/gotop/blob/master/cmd/gotop/main.go"
revision = "master 2026-10-27"
evidence = '''
color := goopt.String([]string{"--color", "-c"}, conf.Colorscheme.Name, tr.Value("args.color"))
graphhorizontalscale := goopt.Int([]string{"--graphscale", "-S"}, conf.GraphHorizontalScale, tr.Value("args.scale"))
percpuload := goopt.Flag([]string{"--percpu", "-p"}, []string{"--no-percpu"}, tr.Value("args.percpu"), tr.Value("args.no-percpu"))
averageload := goopt.Flag([]string{"--averagecpu", "-a"}, []string{"--no-averagecpu"}, tr.Value("args.cpuavg"), tr.Value("args.no-cpuavg"))
tempScale := goopt.Flag([]string{"--fahrenheit"}, []string{"--celsius"}, tr.Value("args.temp"), tr.Value("args.tempc"))
statusbar := goopt.Flag([]string{"--statusbar", "-s"}, []string{"--no-statusbar"}, tr.Value("args.statusbar"), tr.Value("args.no-statusbar"))
updateinterval := goopt.String([]string{"--rate", "-r"}, conf.UpdateInterval.String(), tr.Value("args.rate"))
layout := goopt.String([]string{"--layout", "-l"}, conf.Layout, tr.Value("args.layout"))
netinterface := goopt.String([]string{"--interface", "-i"}, "all", tr.Value("args.net"))
mbps := goopt.Flag([]string{"--mbps"}, []string{"--bytes"}, tr.Value("args.mbps"), tr.Value("args.no-mbps"))
nvidia := goopt.Flag([]string{"--nvidia"}, []string{"--no-nvidia"}, tr.Value("args.nvidia"), tr.Value("args.no-nvidia"))
'''
[[commands.field]]
id = "layout"
label = "Layout"
description = "Name of a layout (for example kitchensink or battery), or a layout file."
type = "string"
option = ["--layout", "-l"]
suggestions = [{ value = "kitchensink", label = "Kitchen sink" }, { value = "battery", label = "Battery" }]
sources = ["help"]
[[commands.field]]
id = "color"
label = "Colour scheme"
type = "string"
option = ["--color", "-c"]
sources = ["help"]
[[commands.field]]
id = "rate"
label = "Refresh rate"
description = "Update interval as a duration, for example 1s or 500ms."
type = "string"
option = ["--rate", "-r"]
sources = ["help"]
[[commands.field]]
id = "interface"
label = "Network interface"
type = "string"
option = ["--interface", "-i"]
sources = ["help"]
[[commands.field]]
id = "graphscale"
label = "Graph horizontal scale"
type = "integer"
option = ["--graphscale", "-S"]
sources = ["help"]
[[commands.field]]
id = "percpu"
label = "Show each CPU core"
type = "boolean"
option = ["--percpu", "-p"]
sources = ["help"]
[[commands.field]]
id = "averagecpu"
label = "Show average CPU load"
type = "boolean"
option = ["--averagecpu", "-a"]
sources = ["help"]
[[commands.field]]
id = "statusbar"
label = "Show status bar"
type = "boolean"
option = ["--statusbar", "-s"]
sources = ["help"]
[[commands.field]]
id = "fahrenheit"
label = "Fahrenheit temperatures"
type = "boolean"
option = ["--fahrenheit"]
sources = ["help"]
[[commands.field]]
id = "mbps"
label = "Network in megabits per second"
type = "boolean"
option = ["--mbps"]
sources = ["help"]
[[commands.field]]
id = "nvidia"
label = "Enable NVidia GPU monitoring"
type = "boolean"
option = ["--nvidia"]
sources = ["help"]
[[commands.task]]
id = "kitchensink"
label = "Everything on screen"
set = { layout = ["kitchensink"], percpu = [true] }
fields = ["layout", "percpu", "rate", "color"]
required = []
[[commands.task]]
id = "network"
label = "Watch one network interface"
fields = ["interface", "mbps", "rate"]
required = ["interface"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["layout", "color", "rate", "interface", "percpu", "averagecpu"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["graphscale", "statusbar", "fahrenheit", "mbps", "nvidia"]