summaryrefslogtreecommitdiff
path: root/statusbar.go
diff options
context:
space:
mode:
authorJulian Hurst <julian.hurst92@gmail.com>2020-07-10 11:27:58 +0200
committerJulian Hurst <julian.hurst92@gmail.com>2020-07-10 11:27:58 +0200
commitee262e2f98e368a6b1fe228472212f540feea923 (patch)
treecc54ca5e4c37befb723df28ca171a2d60c9045f2 /statusbar.go
parent87811aa097b05e271b2e60d14294eaf5534d197f (diff)
downloadstatusbar-ee262e2f98e368a6b1fe228472212f540feea923.tar.gz
Add config path flag
Diffstat (limited to 'statusbar.go')
-rw-r--r--statusbar.go27
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)
}