summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmd/gotop/main.go26
-rw-r--r--config.go12
-rw-r--r--dicts/en_US.toml5
3 files changed, 43 insertions, 0 deletions
diff --git a/cmd/gotop/main.go b/cmd/gotop/main.go
index 27af433..4c04c89 100644
--- a/cmd/gotop/main.go
+++ b/cmd/gotop/main.go
@@ -67,17 +67,23 @@ func parseArgs() error {
version := opflag.BoolP("version", "v", false, tr.Value("args.version"))
versioN := opflag.BoolP("", "V", false, tr.Value("args.version"))
opflag.BoolVarP(&conf.PercpuLoad, "percpu", "p", conf.PercpuLoad, tr.Value("args.percpu"))
+ opflag.BoolVar(&conf.NoPercpuLoad, "no-percpu", conf.NoPercpuLoad, tr.Value("args.no-percpu"))
opflag.BoolVarP(&conf.AverageLoad, "averagecpu", "a", conf.AverageLoad, tr.Value("args.cpuavg"))
+ opflag.BoolVar(&conf.NoAverageLoad, "no-averagecpu", conf.NoAverageLoad, tr.Value("args.no-cpuavg"))
fahrenheit := opflag.BoolP("fahrenheit", "f", conf.TempScale == 'F', tr.Value("args.temp"))
opflag.BoolVarP(&conf.Statusbar, "statusbar", "s", conf.Statusbar, tr.Value("args.statusbar"))
+ opflag.BoolVar(&conf.NoStatusbar, "no-statusbar", conf.NoStatusbar, tr.Value("args.no-statusbar"))
opflag.DurationVarP(&conf.UpdateInterval, "rate", "r", conf.UpdateInterval, tr.Value("args.rate"))
opflag.StringVarP(&conf.Layout, "layout", "l", conf.Layout, tr.Value("args.layout"))
opflag.StringVarP(&conf.NetInterface, "interface", "i", "all", tr.Value("args.net"))
opflag.StringVarP(&conf.ExportPort, "export", "x", conf.ExportPort, tr.Value("args.export"))
opflag.BoolVarP(&conf.Mbps, "mbps", "", conf.Mbps, tr.Value("args.mbps"))
+ opflag.BoolVar(&conf.NoMbps, "no-mbps", conf.NoMbps, tr.Value("args.no-mbps"))
opflag.BoolVar(&conf.Test, "test", conf.Test, tr.Value("args.test"))
+ opflag.BoolVar(&conf.NoTest, "no-test", conf.NoTest, tr.Value("args.no-test"))
opflag.StringP("", "C", "", tr.Value("args.conffile"))
opflag.BoolVarP(&conf.Nvidia, "nvidia", "", conf.Nvidia, "Enable NVidia GPU support")
+ opflag.BoolVarP(&conf.NoNvidia, "no-nvidia", "", conf.NoNvidia, "Disable NVidia GPU support")
list := opflag.String("list", "", tr.Value("args.list"))
wc := opflag.Bool("write-config", false, tr.Value("args.write"))
opflag.SortFlags = false
@@ -161,6 +167,26 @@ func parseArgs() error {
fmt.Println(tr.Value("help.written", path))
os.Exit(0)
}
+
+ if conf.NoStatusbar {
+ conf.Statusbar = false
+ }
+ if conf.NoPercpuLoad {
+ conf.PercpuLoad = false
+ }
+ if conf.NoAverageLoad {
+ conf.AverageLoad = false
+ }
+ if conf.NoMbps {
+ conf.Mbps = false
+ }
+ if conf.NoTest {
+ conf.Test = false
+ }
+ if conf.NoNvidia {
+ conf.Nvidia = false
+ }
+
return nil
}
diff --git a/config.go b/config.go
index 7ff2947..d818285 100644
--- a/config.go
+++ b/config.go
@@ -34,20 +34,26 @@ type Config struct {
Colorscheme colorschemes.Colorscheme
UpdateInterval time.Duration
AverageLoad bool
+ NoAverageLoad bool
PercpuLoad bool
+ NoPercpuLoad bool
Statusbar bool
+ NoStatusbar bool
TempScale widgets.TempScale
NetInterface string
Layout string
MaxLogSize int64
ExportPort string
Mbps bool
+ NoMbps bool
Temps []string
Test bool
+ NoTest bool
ExtensionVars map[string]string
ConfigFile string
Tr lingo.Translations
Nvidia bool
+ NoNvidia bool
NvidiaRefresh time.Duration
}
@@ -61,9 +67,15 @@ func NewConfig() Config {
HelpVisible: false,
UpdateInterval: time.Second,
AverageLoad: false,
+ NoAverageLoad: false,
PercpuLoad: true,
+ NoPercpuLoad: false,
TempScale: widgets.Celsius,
Statusbar: false,
+ NoStatusbar: false,
+ NoMbps: false,
+ NoTest: false,
+ NoNvidia: false,
NetInterface: widgets.NetInterfaceAll,
MaxLogSize: 5000000,
Layout: "default",
diff --git a/dicts/en_US.toml b/dicts/en_US.toml
index c1f2d1f..87e3526 100644
--- a/dicts/en_US.toml
+++ b/dicts/en_US.toml
@@ -77,15 +77,20 @@ color="Set a colorscheme."
scale="Graph scale factor, >0"
version="Print version and exit."
percpu="Show each CPU in the CPU widget."
+no-percpu="Disable show each CPU in the CPU widget."
cpuavg="Show average CPU in the CPU widget."
+no-cpuavg="Disable show average CPU in the CPU widget."
temp="Show temperatures in fahrenheit."
statusbar="Show a statusbar with the time."
+no-statusbar="Disable statusbar."
rate="Refresh frequency. Most time units accepted. \"1m\" = refresh every minute. \"100ms\" = refresh every 100ms."
layout="Name of layout spec file for the UI. Use \"-\" to pipe."
net="Select network interface. Several interfaces can be defined using comma separated values. Interfaces can also be ignored using \"!\""
export="Enable metrics for export on the specified port."
mbps="Show network rate as mbps."
+no-mbps="Disable show network rate as mbps."
test="Runs tests and exits with success/failure code."
+no-test="Disable tests."
conffile="Config file to use instead of default (MUST BE FIRST ARGUMENT)"
nvidia="Enable NVidia GPU metrics"
nvidiarefresh="Refresh frequency. Most time units accepted."