From ee262e2f98e368a6b1fe228472212f540feea923 Mon Sep 17 00:00:00 2001 From: Julian Hurst Date: Fri, 10 Jul 2020 11:27:58 +0200 Subject: Add config path flag --- statusbar.go | 27 +++++++++++++++++++++++---- 1 file 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) } -- cgit v1.2.3