diff options
| author | Julian Hurst <julian.hurst92@gmail.com> | 2020-07-10 11:27:58 +0200 |
|---|---|---|
| committer | Julian Hurst <julian.hurst92@gmail.com> | 2020-07-10 11:27:58 +0200 |
| commit | ee262e2f98e368a6b1fe228472212f540feea923 (patch) | |
| tree | cc54ca5e4c37befb723df28ca171a2d60c9045f2 /statusbar.go | |
| parent | 87811aa097b05e271b2e60d14294eaf5534d197f (diff) | |
| download | statusbar-ee262e2f98e368a6b1fe228472212f540feea923.tar.gz | |
Add config path flag
Diffstat (limited to 'statusbar.go')
| -rw-r--r-- | statusbar.go | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/statusbar.go b/statusbar.go index 93e6c22..5db93d4 100644 --- a/statusbar.go +++ b/statusbar.go @@ -10,6 +10,7 @@ import ( "os/exec" "io/ioutil" "time" + "flag" "github.com/BurntSushi/toml" ) @@ -300,15 +301,33 @@ func buildBattery(config BatteryConfig) string { return b.String() } -func main() { - var configPath = "/etc/statusbar.conf" +func getDefaultConfigPath() string { + return "/etc/statusbar.conf" +} + +func readConfig(configPath *string) ([]byte, error) { var content []byte var err error - if _, err := os.Stat(configPath); err != nil { + if configPath == nil { content, err = ioutil.ReadAll(os.Stdin) } else { - content, err = ioutil.ReadFile(configPath) + if _, err := os.Stat(*configPath); err != nil { + fmt.Fprintf(os.Stderr, "Config not found") + content, err = ioutil.ReadAll(os.Stdin) + } else { + content, err = ioutil.ReadFile(*configPath) + } + } + return content, err +} + +func main() { + configPath := flag.String("c", getDefaultConfigPath(), "The config path") + flag.Parse() + if *configPath == "-" { + configPath = nil } + content, err := readConfig(configPath) if err != nil { panic(err) } |
