From 03926f47c413adb358206c482540e98577191ad6 Mon Sep 17 00:00:00 2001 From: eleksir Date: Fri, 13 Sep 2024 23:27:36 +0300 Subject: [PATCH] Always setup default values even if module that uses it is disabled --- config.go | 2270 ++++++++++++++++++++++++----------------------------- 1 file changed, 1033 insertions(+), 1237 deletions(-) diff --git a/config.go b/config.go index d44d16b..374002c 100644 --- a/config.go +++ b/config.go @@ -13,6 +13,26 @@ import ( "github.com/hjson/hjson-go" ) +type Separator struct { + Left struct { + Enabled bool `json:"enabled,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Symbol string `json:"symbol,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + } `json:"left,omitempty"` + + Right struct { + Enabled bool `json:"enabled,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Symbol string `json:"symbol,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + } `json:"right,omitempty"` +} + type MyConfig struct { // Default text color @@ -27,109 +47,36 @@ type MyConfig struct { // Default text font size FontSize string `json:"font_size,omitempty"` - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Separator Separator `json:"separator,omitempty"` // LA Plugin LA struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Enabled bool `json:"enabled,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + Separator Separator `json:"la,omitempty"` } `json:"la,omitempty"` // Mem plugin Mem struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - ShowSwap bool `json:"show_swap,omitempty"` - - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Enabled bool `json:"enabled,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + ShowSwap bool `json:"show_swap,omitempty"` + Separator Separator `json:"separator,omitempty"` } `json:"mem,omitempty"` Clock struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Enabled bool `json:"enabled,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + Separator Separator `json:"separator,omitempty"` LeftClick struct { Enabled bool `json:"enabled,omitempty"` @@ -159,85 +106,31 @@ type MyConfig struct { AlmostEmpty string `json:"almost_empty,omitempty"` } `json:"charge_color,omitempty"` - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Separator Separator `json:"separator,omitempty"` } `json:"battery,omitempty"` CPUTemp struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Enabled bool `json:"enabled,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + Separator Separator `json:"separator,omitempty"` File []string `json:"file,omitempty"` } `json:"cpu_temp,omitempty"` Vpn struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - StatusFile string `json:"statusFile,omitempty"` - MtimeThreshold int `json:"mtime_threshold,omitempty"` - DownColor string `json:"down_color,omitempty"` - UpColor string `json:"up_color,omitempty"` - - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Enabled bool `json:"enabled,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + StatusFile string `json:"statusFile,omitempty"` + MtimeThreshold int `json:"mtime_threshold,omitempty"` + DownColor string `json:"down_color,omitempty"` + UpColor string `json:"up_color,omitempty"` + Separator Separator `json:"separator,omitempty"` TCPCheck struct { Enabled bool `json:"enabled,omitempty"` @@ -248,34 +141,16 @@ type MyConfig struct { } `json:"vpn,omitempty"` SimpleVolumePa struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - Symbol string `json:"symbol,omitempty"` - SymbolFont string `json:"symbol_font,omitempty"` - SymbolFontSize string `json:"symbol_font_size,omitempty"` - DontExitOnLogin bool `json:"dont_exit_on_login,omitempty"` - - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Enabled bool `json:"enabled,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + Symbol string `json:"symbol,omitempty"` + SymbolFont string `json:"symbol_font,omitempty"` + SymbolFontSize string `json:"symbol_font_size,omitempty"` + DontExitOnLogin bool `json:"dont_exit_on_login,omitempty"` + Separator Separator `json:"separator,omitempty"` Step int `json:"step,omitempty"` RightClickCmd []string `json:"right_click_cmd,omitempty"` @@ -285,32 +160,14 @@ type MyConfig struct { } `json:"simple-volume-pa,omitempty"` NetIf struct { - Enabled bool `json:"enabled,omitempty"` - DownColor string `json:"down_color,omitempty"` - UpColor string `json:"up_color,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Enabled bool `json:"enabled,omitempty"` + DownColor string `json:"down_color,omitempty"` + UpColor string `json:"up_color,omitempty"` + Color string `json:"color,omitempty"` + Background string `json:"background,omitempty"` + Font string `json:"font,omitempty"` + FontSize string `json:"font_size,omitempty"` + Separator Separator `json:"separator,omitempty"` If []struct { Name string `json:"name,omitempty"` @@ -329,26 +186,8 @@ type MyConfig struct { } `json:"cron,omitempty"` AppButtons struct { - Enabled bool `json:"enabled,omitempty"` - - Separator struct { - Left struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"left,omitempty"` - Right struct { - Enabled bool `json:"enabled,omitempty"` - Color string `json:"color,omitempty"` - Background string `json:"background,omitempty"` - Symbol string `json:"symbol,omitempty"` - Font string `json:"font,omitempty"` - FontSize string `json:"font_size,omitempty"` - } `json:"right,omitempty"` - } `json:"separator,omitempty"` + Enabled bool `json:"enabled,omitempty"` + Separator Separator `json:"separator,omitempty"` } `json:"app_buttons,omitempty"` Apps []struct { @@ -464,560 +303,536 @@ func readConf() (MyConfig, error) { sampleConfig.FontSize = "medium" } - if sampleConfig.Separator.Left.Enabled { - if sampleConfig.Separator.Left.Color == "" { - sampleConfig.Separator.Left.Color = "#edeceb" - } + // Even if separator is disabled fallback values should be filled in. + if sampleConfig.Separator.Left.Color == "" { + sampleConfig.Separator.Left.Color = sampleConfig.Color + } - if sampleConfig.Separator.Left.Background == "" { - sampleConfig.Separator.Left.Background = "#3e78fd" - } + if sampleConfig.Separator.Left.Background == "" { + sampleConfig.Separator.Left.Background = sampleConfig.Background + } - if sampleConfig.Separator.Left.Symbol == "" { - sampleConfig.Separator.Left.Symbol = "|" - } + if sampleConfig.Separator.Left.Symbol == "" { + sampleConfig.Separator.Left.Symbol = "|" + } - if sampleConfig.Separator.Left.Font == "" { - sampleConfig.Separator.Left.Font = "Noto Sans" - } + if sampleConfig.Separator.Left.Font == "" { + sampleConfig.Separator.Left.Font = sampleConfig.Font + } + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Separator.Left.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.FontSize, + ) + + sampleConfig.Separator.Left.FontSize = sampleConfig.FontSize + } + + if !matched { + log.Printf( + "Unable to set sampleConfig.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.FontSize, + ) + + sampleConfig.Separator.Left.FontSize = sampleConfig.FontSize + } + + // Even if separator is disabled fallback values should be filled in. + if sampleConfig.Separator.Right.Color == "" { + sampleConfig.Separator.Right.Color = sampleConfig.Color + } + + if sampleConfig.Separator.Right.Background == "" { + sampleConfig.Separator.Right.Background = sampleConfig.Background + } + + if sampleConfig.Separator.Right.Symbol == "" { + sampleConfig.Separator.Right.Symbol = "|" + } + + if sampleConfig.Separator.Right.Font == "" { + sampleConfig.Separator.Right.Font = sampleConfig.Font + } + + matched, err = regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Separator.Right.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.FontSize, + ) + + sampleConfig.Separator.Right.FontSize = sampleConfig.FontSize + } + + if !matched { + log.Printf("Unable to set sampleConfig.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.FontSize, + ) + + sampleConfig.Separator.Right.FontSize = sampleConfig.FontSize + } + + if sampleConfig.LA.Separator.Left.Color == "" { + sampleConfig.LA.Separator.Left.Color = sampleConfig.Separator.Left.Color + } + + if sampleConfig.LA.Separator.Left.Background == "" { + sampleConfig.LA.Separator.Left.Background = sampleConfig.Separator.Left.Background + } + + if sampleConfig.LA.Separator.Left.Symbol == "" { + sampleConfig.LA.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol + } + + if sampleConfig.LA.Separator.Left.Font == "" { + sampleConfig.LA.Separator.Left.Font = sampleConfig.Separator.Left.Font + } + + if sampleConfig.LA.Separator.Left.FontSize == "" { + sampleConfig.LA.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } else { matched, err := regexp.MatchString( `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Separator.Left.FontSize, + sampleConfig.LA.Separator.Left.FontSize, ) if err != nil { log.Printf( - "Unable to set sampleConfig.Separator.Left.FontSize: %s, fallback to %s", + "Unable to set sampleConfig.LA.Separator.Left.FontSize: %s, fallback to %s", err, - sampleConfig.FontSize, + sampleConfig.Separator.Left.FontSize, ) - sampleConfig.Separator.Left.FontSize = sampleConfig.FontSize + sampleConfig.LA.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } if !matched { log.Printf( - "Unable to set sampleConfig.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.FontSize, + "Unable to set sampleConfig.LA.Separator.Left.FontSize, fallback to %s", + sampleConfig.Separator.Left.FontSize, ) - sampleConfig.Separator.Left.FontSize = sampleConfig.FontSize + sampleConfig.LA.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } } - if sampleConfig.Separator.Right.Enabled { - if sampleConfig.Separator.Right.Color == "" { - sampleConfig.Separator.Right.Color = "#edeceb" - } + if sampleConfig.LA.Separator.Right.Color == "" { + sampleConfig.LA.Separator.Right.Color = sampleConfig.Separator.Right.Color + } - if sampleConfig.Separator.Right.Background == "" { - sampleConfig.Separator.Right.Background = "#3e78fd" - } + if sampleConfig.LA.Separator.Right.Background == "" { + sampleConfig.LA.Separator.Right.Background = sampleConfig.Separator.Right.Background + } - if sampleConfig.Separator.Right.Symbol == "" { - sampleConfig.Separator.Right.Symbol = "|" - } + if sampleConfig.LA.Separator.Right.Font == "" { + sampleConfig.LA.Separator.Right.Font = sampleConfig.Separator.Right.Font + } - if sampleConfig.Separator.Right.Font == "" { - sampleConfig.Separator.Right.Font = "Noto Sans" - } + if sampleConfig.LA.Separator.Right.FontSize == "" { + sampleConfig.LA.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } + if sampleConfig.LA.Separator.Right.Color == "" { + sampleConfig.LA.Separator.Right.Color = sampleConfig.Separator.Right.Color + } + + if sampleConfig.LA.Separator.Right.Background == "" { + sampleConfig.LA.Separator.Right.Background = sampleConfig.Separator.Right.Background + } + + if sampleConfig.LA.Separator.Right.Symbol == "" { + sampleConfig.LA.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } + + if sampleConfig.LA.Separator.Right.Font == "" { + sampleConfig.LA.Separator.Right.Font = sampleConfig.Separator.Right.Font + } + + if sampleConfig.LA.Separator.Right.FontSize == "" { + sampleConfig.LA.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { matched, err := regexp.MatchString( `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Separator.Right.FontSize, + sampleConfig.LA.Separator.Right.FontSize, ) if err != nil { log.Printf( - "Unable to set sampleConfig.Separator.Right.FontSize: %s, fallback to %s", + "Unable to set sampleConfig.LA.Separator.Right.FontSize: %s, fallback to %s", err, - sampleConfig.FontSize, + sampleConfig.Separator.Right.FontSize, ) - sampleConfig.Separator.Right.FontSize = sampleConfig.FontSize + sampleConfig.LA.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } if !matched { - log.Printf("Unable to set sampleConfig.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.FontSize, + log.Printf( + "Unable to set sampleConfig.LA.Separator.Right.FontSize, fallback to %s", + sampleConfig.Separator.Right.FontSize, ) - sampleConfig.Separator.Right.FontSize = sampleConfig.FontSize + sampleConfig.LA.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } } - // sampleConfig.LA will be false if not set in config - if sampleConfig.LA.Enabled { - if sampleConfig.LA.Separator.Left.Enabled { - if sampleConfig.LA.Separator.Left.Color == "" { - sampleConfig.LA.Separator.Left.Color = sampleConfig.Separator.Left.Color - } - - if sampleConfig.LA.Separator.Left.Background == "" { - sampleConfig.LA.Separator.Left.Background = sampleConfig.Separator.Left.Background - } - - if sampleConfig.LA.Separator.Left.Symbol == "" { - sampleConfig.LA.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } - - if sampleConfig.LA.Separator.Left.Font == "" { - sampleConfig.LA.Separator.Left.Font = sampleConfig.Separator.Left.Font - } - - if sampleConfig.LA.Separator.Left.FontSize == "" { - sampleConfig.LA.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.LA.Separator.Left.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.LA.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.LA.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.LA.Separator.Left.FontSize, fallback to %s", - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.LA.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - } - } - - if sampleConfig.LA.Separator.Right.Enabled { - if sampleConfig.LA.Color == "" { - sampleConfig.LA.Color = sampleConfig.Color - } - - if sampleConfig.LA.Background == "" { - sampleConfig.LA.Background = sampleConfig.Background - } - - if sampleConfig.LA.Font == "" { - sampleConfig.LA.Font = sampleConfig.Font - } - - if sampleConfig.LA.FontSize == "" { - sampleConfig.LA.FontSize = sampleConfig.FontSize - } - - if sampleConfig.LA.Separator.Right.Color == "" { - sampleConfig.LA.Separator.Right.Color = sampleConfig.Separator.Right.Color - } - - if sampleConfig.LA.Separator.Right.Background == "" { - sampleConfig.LA.Separator.Right.Background = sampleConfig.Separator.Right.Background - } - - if sampleConfig.LA.Separator.Right.Symbol == "" { - sampleConfig.LA.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol - } - - if sampleConfig.LA.Separator.Right.Font == "" { - sampleConfig.LA.Separator.Right.Font = sampleConfig.Separator.Right.Font - } - - if sampleConfig.LA.Separator.Right.FontSize == "" { - sampleConfig.LA.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.LA.Separator.Right.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.LA.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.LA.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.LA.Separator.Right.FontSize, fallback to %s", - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.LA.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - } - } + if sampleConfig.Mem.Color == "" { + sampleConfig.Mem.Color = sampleConfig.Color } - // sampleConfig.Mem will be false if not set in config - if sampleConfig.Mem.Enabled { - if sampleConfig.Mem.Color == "" { - sampleConfig.Mem.Color = sampleConfig.Color - } + if sampleConfig.Mem.Background == "" { + sampleConfig.Mem.Background = sampleConfig.Background + } - if sampleConfig.Mem.Background == "" { - sampleConfig.Mem.Background = sampleConfig.Background - } + if sampleConfig.Mem.Font == "" { + sampleConfig.Mem.Font = sampleConfig.Font + } - if sampleConfig.Mem.Font == "" { - sampleConfig.Mem.Font = sampleConfig.Font - } + if sampleConfig.Mem.FontSize == "" { + sampleConfig.Mem.FontSize = sampleConfig.FontSize + } - if sampleConfig.Mem.FontSize == "" { - sampleConfig.Mem.FontSize = sampleConfig.FontSize - } + if sampleConfig.Mem.Separator.Left.Color == "" { + sampleConfig.Mem.Separator.Left.Color = sampleConfig.Separator.Left.Color + } - if sampleConfig.Mem.Separator.Left.Color == "" { - sampleConfig.Mem.Separator.Left.Color = sampleConfig.Separator.Left.Color - } + if sampleConfig.Mem.Separator.Left.Background == "" { + sampleConfig.Mem.Separator.Left.Background = sampleConfig.Separator.Left.Background + } - if sampleConfig.Mem.Separator.Left.Background == "" { - sampleConfig.Mem.Separator.Left.Background = sampleConfig.Separator.Left.Background - } + if sampleConfig.Mem.Separator.Left.Symbol == "" { + sampleConfig.Mem.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol + } - if sampleConfig.Mem.Separator.Left.Symbol == "" { - sampleConfig.Mem.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } + if sampleConfig.Mem.Separator.Left.Font == "" { + sampleConfig.Mem.Separator.Left.Font = sampleConfig.Separator.Left.Font + } - if sampleConfig.Mem.Separator.Left.Font == "" { - sampleConfig.Mem.Separator.Left.Font = sampleConfig.Separator.Left.Font - } + if sampleConfig.Mem.Separator.Left.FontSize == "" { + sampleConfig.Mem.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Mem.Separator.Left.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.Mem.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Left.FontSize, + ) - if sampleConfig.Mem.Separator.Left.FontSize == "" { sampleConfig.Mem.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } + + if !matched { + log.Printf( + "Unable to set sampleConfig.Mem.Separator.Left.FontSize, fallback to %s", + sampleConfig.Separator.Left.FontSize, + ) + + sampleConfig.Mem.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } + } + + if sampleConfig.Mem.Separator.Right.Color == "" { + sampleConfig.Mem.Separator.Right.Color = sampleConfig.Separator.Right.Color + } + + if sampleConfig.Mem.Separator.Right.Background == "" { + sampleConfig.Mem.Separator.Right.Background = sampleConfig.Separator.Right.Background + } + + if sampleConfig.Mem.Separator.Right.Symbol == "" { + sampleConfig.Mem.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } + + if sampleConfig.Mem.Separator.Right.Font == "" { + sampleConfig.Mem.Separator.Right.Font = sampleConfig.Separator.Right.Font + } + + if sampleConfig.Mem.Separator.Right.FontSize == "" { + sampleConfig.Mem.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Mem.Separator.Right.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.Mem.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.Mem.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } + + if !matched { + log.Printf( + "Unable to set sampleConfig.Mem.Separator.Right.FontSize, fallback to %s", + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.Mem.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } + } + + if sampleConfig.Clock.Color == "" { + sampleConfig.Clock.Color = sampleConfig.Color + } + + if sampleConfig.Clock.Background == "" { + sampleConfig.Clock.Background = sampleConfig.Background + } + + if sampleConfig.Clock.Font == "" { + sampleConfig.Clock.Font = sampleConfig.Font + } + + if sampleConfig.Clock.FontSize == "" { + sampleConfig.Clock.FontSize = sampleConfig.FontSize + } + + if sampleConfig.Clock.Separator.Left.Enabled { + if sampleConfig.Clock.Separator.Left.Color == "" { + sampleConfig.Clock.Separator.Left.Color = sampleConfig.Separator.Left.Color + } + + if sampleConfig.Clock.Separator.Left.Background == "" { + sampleConfig.Clock.Separator.Left.Background = sampleConfig.Separator.Left.Background + } + + if sampleConfig.Clock.Separator.Left.Symbol == "" { + sampleConfig.Clock.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol + } + + if sampleConfig.Clock.Separator.Left.Font == "" { + sampleConfig.Clock.Separator.Left.Font = sampleConfig.Separator.Left.Font + } + + if sampleConfig.Clock.Separator.Left.FontSize == "" { + sampleConfig.Clock.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } else { matched, err := regexp.MatchString( `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Mem.Separator.Left.FontSize, + sampleConfig.Clock.Separator.Left.FontSize, ) if err != nil { log.Printf( - "Unable to set sampleConfig.Mem.Separator.Left.FontSize: %s, fallback to %s", + "Unable to set sampleConfig.Clock.Separator.Left.FontSize: %s, fallback to %s", err, sampleConfig.Separator.Left.FontSize, ) - sampleConfig.Mem.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + sampleConfig.Clock.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } if !matched { log.Printf( - "Unable to set sampleConfig.Mem.Separator.Left.FontSize, fallback to %s", + "Unable to set sampleConfig.Clock.Separator.Left.FontSize, fallback to %s", sampleConfig.Separator.Left.FontSize, ) - sampleConfig.Mem.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - } - - if sampleConfig.Mem.Separator.Right.Enabled { - if sampleConfig.Mem.Separator.Right.Color == "" { - sampleConfig.Mem.Separator.Right.Color = sampleConfig.Separator.Right.Color - } - - if sampleConfig.Mem.Separator.Right.Background == "" { - sampleConfig.Mem.Separator.Right.Background = sampleConfig.Separator.Right.Background - } - - if sampleConfig.Mem.Separator.Right.Symbol == "" { - sampleConfig.Mem.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol - } - - if sampleConfig.Mem.Separator.Right.Font == "" { - sampleConfig.Mem.Separator.Right.Font = sampleConfig.Separator.Right.Font - } - - if sampleConfig.Mem.Separator.Right.FontSize == "" { - sampleConfig.Mem.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Mem.Separator.Right.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.Mem.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Mem.Separator.Right.FontSize, - ) - - sampleConfig.Mem.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.Mem.Separator.Right.FontSize, fallback to %s", - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.Mem.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } + sampleConfig.Clock.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } } } - // sampleConfig.Clock.Enabled will be false if not set in config - if sampleConfig.Clock.Enabled { - if sampleConfig.Clock.Color == "" { - sampleConfig.Clock.Color = sampleConfig.Color + if sampleConfig.Clock.Separator.Right.Color == "" { + sampleConfig.Clock.Separator.Right.Color = sampleConfig.Separator.Right.Color + } + + if sampleConfig.Clock.Separator.Right.Background == "" { + sampleConfig.Clock.Separator.Right.Background = sampleConfig.Separator.Right.Background + } + + if sampleConfig.Clock.Separator.Right.Symbol == "" { + sampleConfig.Clock.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } + + if sampleConfig.Clock.Separator.Right.Font == "" { + sampleConfig.Clock.Separator.Right.Font = sampleConfig.Separator.Right.Font + } + + if sampleConfig.Clock.Separator.Right.FontSize == "" { + sampleConfig.Clock.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Clock.Separator.Right.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.Clock.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.Clock.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } - if sampleConfig.Clock.Background == "" { - sampleConfig.Clock.Background = sampleConfig.Background + if !matched { + log.Printf( + "Unable to set sampleConfig.Clock.Separator.Right.FontSize, fallback to %s", + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.Clock.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } + } - if sampleConfig.Clock.Font == "" { - sampleConfig.Clock.Font = sampleConfig.Font - } + // sampleConfig.Clock.LeftClick.Enabled will be false if not set in config - if sampleConfig.Clock.FontSize == "" { - sampleConfig.Clock.FontSize = sampleConfig.FontSize - } + if len(sampleConfig.Clock.LeftClick.Cmd) == 0 { + sampleConfig.Clock.LeftClick.Cmd = append(sampleConfig.Clock.LeftClick.Cmd, "true") + } - if sampleConfig.Clock.Separator.Left.Enabled { - if sampleConfig.Clock.Separator.Left.Color == "" { - sampleConfig.Clock.Separator.Left.Color = sampleConfig.Separator.Left.Color - } + // sampleConfig.Clock.RightClick.Enabled will be false if not set in config - if sampleConfig.Clock.Separator.Left.Background == "" { - sampleConfig.Clock.Separator.Left.Background = sampleConfig.Separator.Left.Background - } - - if sampleConfig.Clock.Separator.Left.Symbol == "" { - sampleConfig.Clock.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } - - if sampleConfig.Clock.Separator.Left.Font == "" { - sampleConfig.Clock.Separator.Left.Font = sampleConfig.Separator.Left.Font - } - - if sampleConfig.Clock.Separator.Left.FontSize == "" { - sampleConfig.Clock.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Clock.Separator.Left.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.Clock.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.Clock.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.Clock.Separator.Left.FontSize, fallback to %s", - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.Clock.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - } - } - - if sampleConfig.Clock.Separator.Right.Enabled { - if sampleConfig.Clock.Separator.Right.Color == "" { - sampleConfig.Clock.Separator.Right.Color = sampleConfig.Separator.Right.Color - } - - if sampleConfig.Clock.Separator.Right.Background == "" { - sampleConfig.Clock.Separator.Right.Background = sampleConfig.Separator.Right.Background - } - - if sampleConfig.Clock.Separator.Right.Symbol == "" { - sampleConfig.Clock.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol - } - - if sampleConfig.Clock.Separator.Right.Font == "" { - sampleConfig.Clock.Separator.Right.Font = sampleConfig.Separator.Right.Font - } - - if sampleConfig.Clock.Separator.Right.FontSize == "" { - sampleConfig.Clock.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Clock.Separator.Right.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.Clock.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Clock.Separator.Right.FontSize, - ) - - sampleConfig.Clock.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.Clock.Separator.Right.FontSize, fallback to %s", - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.Clock.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - } - } - - // sampleConfig.Clock.LeftClick.Enabled will be false if not set in config - - if len(sampleConfig.Clock.LeftClick.Cmd) == 0 { - sampleConfig.Clock.LeftClick.Cmd = append(sampleConfig.Clock.LeftClick.Cmd, "true") - } - - // sampleConfig.Clock.RightClick.Enabled will be false if not set in config - - if len(sampleConfig.Clock.RightClick.Cmd) == 0 { - sampleConfig.Clock.RightClick.Cmd = append(sampleConfig.Clock.RightClick.Cmd, "true") - } + if len(sampleConfig.Clock.RightClick.Cmd) == 0 { + sampleConfig.Clock.RightClick.Cmd = append(sampleConfig.Clock.RightClick.Cmd, "true") } // sampleConfig.Battery.Enabled will be false if not set in config - if sampleConfig.Battery.Enabled { - if sampleConfig.Battery.Color == "" { - sampleConfig.Battery.Color = sampleConfig.Color + if sampleConfig.Battery.Color == "" { + sampleConfig.Battery.Color = sampleConfig.Color + } + + if sampleConfig.Battery.Background == "" { + sampleConfig.Battery.Background = sampleConfig.Background + } + + if sampleConfig.Battery.Font == "" { + sampleConfig.Battery.Font = sampleConfig.Font + } + + if sampleConfig.Battery.FontSize == "" { + sampleConfig.Battery.FontSize = sampleConfig.FontSize + } + + if sampleConfig.Battery.Symbol == "" { + sampleConfig.Battery.Symbol = "⚡" + } + + if sampleConfig.Battery.SymbolFont == "" { + sampleConfig.Battery.SymbolFont = sampleConfig.Battery.Font + } + + if sampleConfig.Battery.SymbolFontSize == "" { + sampleConfig.Battery.SymbolFontSize = sampleConfig.Battery.FontSize + } + + // sampleConfig.Battery.ChargeColor.Full will be empty string if not set + // sampleConfig.Battery.ChargeColor.Empty will be empty string if not set + // sampleConfig.Battery.ChargeColor.AlmostFull will be empty string if not set + // sampleConfig.Battery.ChargeColor.AlmostEmpty will be empty string if not set + if sampleConfig.Battery.Separator.Left.Color == "" { + sampleConfig.Battery.Separator.Left.Color = sampleConfig.Separator.Left.Color + } + + if sampleConfig.Battery.Separator.Left.Background == "" { + sampleConfig.Battery.Separator.Left.Background = sampleConfig.Separator.Left.Background + } + + if sampleConfig.Battery.Separator.Left.Symbol == "" { + sampleConfig.Battery.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol + } + + if sampleConfig.Battery.Separator.Left.Font == "" { + sampleConfig.Battery.Separator.Left.Font = sampleConfig.Separator.Left.Font + } + + if sampleConfig.Battery.Separator.Left.FontSize == "" { + sampleConfig.Battery.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Battery.Separator.Left.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.Battery.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Left.FontSize, + ) + + sampleConfig.Battery.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } - if sampleConfig.Battery.Background == "" { - sampleConfig.Battery.Background = sampleConfig.Background - } + if !matched { + log.Printf( + "Unable to set sampleConfig.Battery.Separator.Left.FontSize, fallback to %s", + sampleConfig.Separator.Left.FontSize, + ) - if sampleConfig.Battery.Font == "" { - sampleConfig.Battery.Font = sampleConfig.Font - } - - if sampleConfig.Battery.FontSize == "" { - sampleConfig.Battery.FontSize = sampleConfig.FontSize - } - - if sampleConfig.Battery.Symbol == "" { - sampleConfig.Battery.Symbol = "⚡" - } - - if sampleConfig.Battery.SymbolFont == "" { - sampleConfig.Battery.SymbolFont = sampleConfig.Battery.Font - } - - if sampleConfig.Battery.SymbolFontSize == "" { - sampleConfig.Battery.SymbolFontSize = sampleConfig.Battery.FontSize - } - - // sampleConfig.Battery.ChargeColor.Full will be empty string if not set - // sampleConfig.Battery.ChargeColor.Empty will be empty string if not set - // sampleConfig.Battery.ChargeColor.AlmostFull will be empty string if not set - // sampleConfig.Battery.ChargeColor.AlmostEmpty will be empty string if not set - if sampleConfig.Battery.Separator.Left.Enabled { - if sampleConfig.Battery.Separator.Left.Color == "" { - sampleConfig.Battery.Separator.Left.Color = sampleConfig.Separator.Left.Color - } - - if sampleConfig.Battery.Separator.Left.Background == "" { - sampleConfig.Battery.Separator.Left.Background = sampleConfig.Separator.Left.Background - } - - if sampleConfig.Battery.Separator.Left.Symbol == "" { - sampleConfig.Battery.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } - - if sampleConfig.Battery.Separator.Left.Font == "" { - sampleConfig.Battery.Separator.Left.Font = sampleConfig.Separator.Left.Font - } - - if sampleConfig.Battery.Separator.Left.FontSize == "" { - sampleConfig.Battery.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Battery.Separator.Left.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.Battery.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.Battery.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.Battery.Separator.Left.FontSize, fallback to %s", - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.Battery.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - } - } - - if sampleConfig.Battery.Separator.Right.Enabled { - if sampleConfig.Battery.Separator.Right.Color == "" { - sampleConfig.Battery.Separator.Right.Color = sampleConfig.Separator.Right.Color - } - - if sampleConfig.Battery.Separator.Right.Background == "" { - sampleConfig.Battery.Separator.Right.Background = sampleConfig.Separator.Right.Background - } - - if sampleConfig.Battery.Separator.Right.Symbol == "" { - sampleConfig.Battery.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol - } - - if sampleConfig.Battery.Separator.Right.Font == "" { - sampleConfig.Battery.Separator.Right.Font = sampleConfig.Separator.Right.Font - } - - if sampleConfig.Battery.Separator.Right.FontSize == "" { - sampleConfig.Battery.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Battery.Separator.Right.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.Battery.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.Battery.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.Battery.Separator.Right.FontSize, fallback to %s", - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.Battery.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - } + sampleConfig.Battery.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } } + + if sampleConfig.Battery.Separator.Right.Color == "" { + sampleConfig.Battery.Separator.Right.Color = sampleConfig.Separator.Right.Color + } + + if sampleConfig.Battery.Separator.Right.Background == "" { + sampleConfig.Battery.Separator.Right.Background = sampleConfig.Separator.Right.Background + } + + if sampleConfig.Battery.Separator.Right.Symbol == "" { + sampleConfig.Battery.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } + + if sampleConfig.Battery.Separator.Right.Font == "" { + sampleConfig.Battery.Separator.Right.Font = sampleConfig.Separator.Right.Font + } + + if sampleConfig.Battery.Separator.Right.FontSize == "" { + sampleConfig.Battery.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Battery.Separator.Right.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.Battery.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.Battery.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } + + if !matched { + log.Printf( + "Unable to set sampleConfig.Battery.Separator.Right.FontSize, fallback to %s", + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.Battery.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } + } + // sampleConfig.CpuTemp.Enabled will be false if not set in config // No files configured - disable plugin @@ -1025,111 +840,107 @@ func readConf() (MyConfig, error) { sampleConfig.CPUTemp.Enabled = false } - if sampleConfig.CPUTemp.Enabled { - if sampleConfig.CPUTemp.Color == "" { - sampleConfig.CPUTemp.Color = sampleConfig.Color + if sampleConfig.CPUTemp.Color == "" { + sampleConfig.CPUTemp.Color = sampleConfig.Color + } + + if sampleConfig.CPUTemp.Background == "" { + sampleConfig.CPUTemp.Background = sampleConfig.Background + } + + if sampleConfig.CPUTemp.Font == "" { + sampleConfig.CPUTemp.Font = sampleConfig.Font + } + + if sampleConfig.CPUTemp.FontSize == "" { + sampleConfig.CPUTemp.FontSize = sampleConfig.FontSize + } + + if sampleConfig.CPUTemp.Separator.Left.Enabled { + if sampleConfig.CPUTemp.Separator.Left.Color == "" { + sampleConfig.CPUTemp.Separator.Left.Color = sampleConfig.Separator.Left.Color } - if sampleConfig.CPUTemp.Background == "" { - sampleConfig.CPUTemp.Background = sampleConfig.Background + if sampleConfig.CPUTemp.Separator.Left.Background == "" { + sampleConfig.CPUTemp.Separator.Left.Background = sampleConfig.Separator.Left.Background } - if sampleConfig.CPUTemp.Font == "" { - sampleConfig.CPUTemp.Font = sampleConfig.Font + if sampleConfig.CPUTemp.Separator.Left.Symbol == "" { + sampleConfig.CPUTemp.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol } - if sampleConfig.CPUTemp.FontSize == "" { - sampleConfig.CPUTemp.FontSize = sampleConfig.FontSize + if sampleConfig.CPUTemp.Separator.Left.Font == "" { + sampleConfig.CPUTemp.Separator.Left.Font = sampleConfig.Separator.Left.Font } - if sampleConfig.CPUTemp.Separator.Left.Enabled { - if sampleConfig.CPUTemp.Separator.Left.Color == "" { - sampleConfig.CPUTemp.Separator.Left.Color = sampleConfig.Separator.Left.Color - } + if sampleConfig.CPUTemp.Separator.Left.FontSize == "" { + sampleConfig.CPUTemp.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.CPUTemp.Separator.Left.FontSize, + ) - if sampleConfig.CPUTemp.Separator.Left.Background == "" { - sampleConfig.CPUTemp.Separator.Left.Background = sampleConfig.Separator.Left.Background - } + if err != nil { + log.Printf( + "Unable to set sampleConfig.CPUTemp.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Left.FontSize, + ) - if sampleConfig.CPUTemp.Separator.Left.Symbol == "" { - sampleConfig.CPUTemp.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } - - if sampleConfig.CPUTemp.Separator.Left.Font == "" { - sampleConfig.CPUTemp.Separator.Left.Font = sampleConfig.Separator.Left.Font - } - - if sampleConfig.CPUTemp.Separator.Left.FontSize == "" { sampleConfig.CPUTemp.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.CPUTemp.Separator.Left.FontSize, + } + + if !matched { + log.Printf( + "Unable to set sampleConfig.CPUTemp.Separator.Left.FontSize, fallback to %s", + sampleConfig.Separator.Left.FontSize, ) - if err != nil { - log.Printf( - "Unable to set sampleConfig.CPUTemp.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.CPUTemp.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.CPUTemp.Separator.Left.FontSize, fallback to %s", - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.CPUTemp.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } + sampleConfig.CPUTemp.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } } + } - if sampleConfig.CPUTemp.Separator.Right.Enabled { - if sampleConfig.CPUTemp.Separator.Right.Color == "" { - sampleConfig.CPUTemp.Separator.Right.Color = sampleConfig.Separator.Right.Color - } + if sampleConfig.CPUTemp.Separator.Right.Color == "" { + sampleConfig.CPUTemp.Separator.Right.Color = sampleConfig.Separator.Right.Color + } - if sampleConfig.CPUTemp.Separator.Right.Background == "" { - sampleConfig.CPUTemp.Separator.Right.Background = sampleConfig.Separator.Right.Background - } + if sampleConfig.CPUTemp.Separator.Right.Background == "" { + sampleConfig.CPUTemp.Separator.Right.Background = sampleConfig.Separator.Right.Background + } - if sampleConfig.CPUTemp.Separator.Right.Symbol == "" { - sampleConfig.CPUTemp.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol - } + if sampleConfig.CPUTemp.Separator.Right.Symbol == "" { + sampleConfig.CPUTemp.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } - if sampleConfig.CPUTemp.Separator.Right.Font == "" { - sampleConfig.CPUTemp.Separator.Right.Font = sampleConfig.Separator.Right.Font - } + if sampleConfig.CPUTemp.Separator.Right.Font == "" { + sampleConfig.CPUTemp.Separator.Right.Font = sampleConfig.Separator.Right.Font + } - if sampleConfig.CPUTemp.Separator.Right.FontSize == "" { - sampleConfig.CPUTemp.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.CPUTemp.Separator.Right.FontSize, - ) + if sampleConfig.CPUTemp.Separator.Right.FontSize == "" { + sampleConfig.CPUTemp.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.CPUTemp.Separator.Right.FontSize, + ) - if err != nil { - log.Printf("Unable to set sampleConfig.CPUTemp.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Right.FontSize, - ) + if err != nil { + log.Printf("Unable to set sampleConfig.CPUTemp.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Right.FontSize, + ) - sampleConfig.CPUTemp.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } + sampleConfig.CPUTemp.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } - if !matched { - log.Printf("Unable to set sampleConfig.CPUTemp.Separator.Right.FontSize, fallback to %s", - sampleConfig.Separator.Right.FontSize, - ) + if !matched { + log.Printf("Unable to set sampleConfig.CPUTemp.Separator.Right.FontSize, fallback to %s", + sampleConfig.Separator.Right.FontSize, + ) - sampleConfig.CPUTemp.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - } + sampleConfig.CPUTemp.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } } @@ -1140,297 +951,295 @@ func readConf() (MyConfig, error) { sampleConfig.Vpn.Enabled = false } - if sampleConfig.Vpn.Enabled { - if sampleConfig.Vpn.Color == "" { - sampleConfig.Vpn.Color = sampleConfig.Color + if sampleConfig.Vpn.Color == "" { + sampleConfig.Vpn.Color = sampleConfig.Color + } + + if sampleConfig.Vpn.Background == "" { + sampleConfig.Vpn.Background = sampleConfig.Background + } + + if sampleConfig.Vpn.Font == "" { + sampleConfig.Vpn.FontSize = sampleConfig.Font + } + + if sampleConfig.Vpn.FontSize == "" { + sampleConfig.Vpn.FontSize = sampleConfig.FontSize + } + + // Check status file at least once per 3 seconds + if sampleConfig.Vpn.MtimeThreshold < 3 { + log.Printf("vpn.mtime_threshold not set, using 3") + + sampleConfig.Vpn.MtimeThreshold = 3 + } + + // sampleConfig.Vpn.DownColor will be empty string if no value set in config + // sampleConfig.Vpn.UpColor will be empty string if no value set in config + // sampleConfig.Vpn.TcpCheck.Enabled will false if not set in config + + if sampleConfig.Vpn.Separator.Left.Enabled { + if sampleConfig.Vpn.Separator.Left.Color == "" { + sampleConfig.Vpn.Separator.Left.Color = sampleConfig.Separator.Left.Color } - if sampleConfig.Vpn.Background == "" { - sampleConfig.Vpn.Background = sampleConfig.Background + if sampleConfig.Vpn.Separator.Left.Background == "" { + sampleConfig.Vpn.Separator.Left.Background = sampleConfig.Separator.Left.Background } - if sampleConfig.Vpn.Font == "" { - sampleConfig.Vpn.FontSize = sampleConfig.Font + if sampleConfig.Vpn.Separator.Left.Symbol == "" { + sampleConfig.Vpn.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol } - if sampleConfig.Vpn.FontSize == "" { - sampleConfig.Vpn.FontSize = sampleConfig.FontSize + if sampleConfig.Vpn.Separator.Left.Font == "" { + sampleConfig.Vpn.Separator.Left.Font = sampleConfig.Separator.Left.Font } - // Check status file at least once per 3 seconds - if sampleConfig.Vpn.MtimeThreshold < 3 { - log.Printf("vpn.mtime_threshold not set, using 3") + if sampleConfig.Vpn.Separator.Left.FontSize == "" { + sampleConfig.Vpn.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Vpn.Separator.Left.FontSize, + ) - sampleConfig.Vpn.MtimeThreshold = 3 - } + if err != nil { + log.Printf( + "Unable to set sampleConfig.Vpn.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Left.FontSize, + ) - // sampleConfig.Vpn.DownColor will be empty string if no value set in config - // sampleConfig.Vpn.UpColor will be empty string if no value set in config - // sampleConfig.Vpn.TcpCheck.Enabled will false if not set in config - - if sampleConfig.Vpn.Separator.Left.Enabled { - if sampleConfig.Vpn.Separator.Left.Color == "" { - sampleConfig.Vpn.Separator.Left.Color = sampleConfig.Separator.Left.Color - } - - if sampleConfig.Vpn.Separator.Left.Background == "" { - sampleConfig.Vpn.Separator.Left.Background = sampleConfig.Separator.Left.Background - } - - if sampleConfig.Vpn.Separator.Left.Symbol == "" { - sampleConfig.Vpn.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } - - if sampleConfig.Vpn.Separator.Left.Font == "" { - sampleConfig.Vpn.Separator.Left.Font = sampleConfig.Separator.Left.Font - } - - if sampleConfig.Vpn.Separator.Left.FontSize == "" { sampleConfig.Vpn.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Vpn.Separator.Left.FontSize, + } + + if !matched { + log.Printf( + "Unable to set sampleConfig.Vpn.Separator.Left.FontSize, fallback to %s", + sampleConfig.Separator.Left.FontSize, ) - if err != nil { - log.Printf( - "Unable to set sampleConfig.Vpn.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.Vpn.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.Vpn.Separator.Left.FontSize, fallback to %s", - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.Vpn.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } + sampleConfig.Vpn.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } } - - if sampleConfig.Vpn.Separator.Right.Enabled { - if sampleConfig.Vpn.Separator.Right.Color == "" { - sampleConfig.Vpn.Separator.Right.Color = sampleConfig.Separator.Right.Color - } - - if sampleConfig.Vpn.Separator.Right.Background == "" { - sampleConfig.Vpn.Separator.Right.Background = sampleConfig.Separator.Right.Background - } - - if sampleConfig.Vpn.Separator.Right.Symbol == "" { - sampleConfig.Vpn.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol - } - - if sampleConfig.Vpn.Separator.Right.Font == "" { - sampleConfig.Vpn.Separator.Right.Font = sampleConfig.Separator.Right.Font - } - - if sampleConfig.Vpn.Separator.Right.FontSize == "" { - sampleConfig.Vpn.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.Vpn.Separator.Right.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.Vpn.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.Vpn.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.Vpn.Separator.Right.FontSize, fallback to %s", - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.Vpn.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - } - } - - // Disable plugin if value inadequate - if sampleConfig.Vpn.TCPCheck.Port > 65535 { - if sampleConfig.Vpn.TCPCheck.Enabled { - log.Printf("vpn.tcp_check.port > 65535, disabling vpn.tcp_check.enabled") - } - - sampleConfig.Vpn.TCPCheck.Enabled = false - } - - // Disable plugin if value indaquate - if sampleConfig.Vpn.TCPCheck.Host == "" { - if sampleConfig.Vpn.TCPCheck.Enabled { - log.Printf("vpn.tcp_check.host not set, disabling vpn.tcp_check.enabled") - } - - sampleConfig.Vpn.TCPCheck.Enabled = false - } - - if sampleConfig.Vpn.TCPCheck.Timeout < 3 { - if sampleConfig.Vpn.TCPCheck.Enabled { - log.Printf("vpn.tcp_check.timeout < 3, using 3") - } - - sampleConfig.Vpn.TCPCheck.Timeout = 3 - } + } + + if sampleConfig.Vpn.Separator.Right.Color == "" { + sampleConfig.Vpn.Separator.Right.Color = sampleConfig.Separator.Right.Color + } + + if sampleConfig.Vpn.Separator.Right.Background == "" { + sampleConfig.Vpn.Separator.Right.Background = sampleConfig.Separator.Right.Background + } + + if sampleConfig.Vpn.Separator.Right.Symbol == "" { + sampleConfig.Vpn.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } + + if sampleConfig.Vpn.Separator.Right.Font == "" { + sampleConfig.Vpn.Separator.Right.Font = sampleConfig.Separator.Right.Font + } + + if sampleConfig.Vpn.Separator.Right.FontSize == "" { + sampleConfig.Vpn.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.Vpn.Separator.Right.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.Vpn.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.Vpn.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } + + if !matched { + log.Printf( + "Unable to set sampleConfig.Vpn.Separator.Right.FontSize, fallback to %s", + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.Vpn.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } + } + + // Disable plugin if value inadequate + if sampleConfig.Vpn.TCPCheck.Port > 65535 { + if sampleConfig.Vpn.TCPCheck.Enabled { + log.Printf("vpn.tcp_check.port > 65535, disabling vpn.tcp_check.enabled") + } + + sampleConfig.Vpn.TCPCheck.Enabled = false + } + + // Disable plugin if value indaquate + if sampleConfig.Vpn.TCPCheck.Host == "" { + if sampleConfig.Vpn.TCPCheck.Enabled { + log.Printf("vpn.tcp_check.host not set, disabling vpn.tcp_check.enabled") + } + + sampleConfig.Vpn.TCPCheck.Enabled = false + } + + if sampleConfig.Vpn.TCPCheck.Timeout < 3 { + if sampleConfig.Vpn.TCPCheck.Enabled { + log.Printf("vpn.tcp_check.timeout < 3, using 3") + } + + sampleConfig.Vpn.TCPCheck.Timeout = 3 } // sampleConfig.SimpleVolumePa.Enabled will false if not set in config - if sampleConfig.SimpleVolumePa.Enabled { - if sampleConfig.SimpleVolumePa.Color == "" { - sampleConfig.SimpleVolumePa.Color = sampleConfig.Color + if sampleConfig.SimpleVolumePa.Color == "" { + sampleConfig.SimpleVolumePa.Color = sampleConfig.Color + } + + if sampleConfig.SimpleVolumePa.Background == "" { + sampleConfig.SimpleVolumePa.Background = sampleConfig.Background + } + + if sampleConfig.SimpleVolumePa.Font == "" { + sampleConfig.SimpleVolumePa.Font = sampleConfig.Font + } + + if sampleConfig.SimpleVolumePa.FontSize == "" { + sampleConfig.SimpleVolumePa.FontSize = sampleConfig.FontSize + } + + if sampleConfig.SimpleVolumePa.Symbol == "" { + sampleConfig.SimpleVolumePa.Symbol = `🔊` + } + + if sampleConfig.SimpleVolumePa.SymbolFont == "" { + sampleConfig.SimpleVolumePa.SymbolFont = sampleConfig.SimpleVolumePa.Font + } + + if sampleConfig.SimpleVolumePa.SymbolFontSize == "" { + sampleConfig.SimpleVolumePa.SymbolFontSize = sampleConfig.SimpleVolumePa.FontSize + } + + if sampleConfig.SimpleVolumePa.Step == 0 { + sampleConfig.SimpleVolumePa.Step = 5 + } + + if sampleConfig.SimpleVolumePa.WheelUp == 0 { + sampleConfig.SimpleVolumePa.WheelUp = 4 + } + + if sampleConfig.SimpleVolumePa.WheelDown == 0 { + sampleConfig.SimpleVolumePa.WheelDown = 5 + } + + if sampleConfig.SimpleVolumePa.WheelDown > 100 { + sampleConfig.SimpleVolumePa.WheelDown = 5 + } + + if sampleConfig.SimpleVolumePa.MaxVolumeLimit <= 0 { + sampleConfig.SimpleVolumePa.MaxVolumeLimit = 100 + } + + if sampleConfig.SimpleVolumePa.MaxVolumeLimit >= 120 { + sampleConfig.SimpleVolumePa.MaxVolumeLimit = 100 + } + + if len(sampleConfig.SimpleVolumePa.RightClickCmd) > 0 { + if sampleConfig.SimpleVolumePa.RightClickCmd[0] == "" { + sampleConfig.SimpleVolumePa.RightClickCmd[0] = "true" + } + } else { + sampleConfig.SimpleVolumePa.RightClickCmd = append(sampleConfig.SimpleVolumePa.RightClickCmd, "true") + } + + if sampleConfig.SimpleVolumePa.Separator.Left.Color == "" { + sampleConfig.SimpleVolumePa.Separator.Left.Color = sampleConfig.Separator.Left.Color + } + + if sampleConfig.SimpleVolumePa.Separator.Left.Background == "" { + sampleConfig.SimpleVolumePa.Separator.Left.Background = sampleConfig.Separator.Left.Background + } + + if sampleConfig.SimpleVolumePa.Separator.Left.Symbol == "" { + sampleConfig.SimpleVolumePa.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol + } + + if sampleConfig.SimpleVolumePa.Separator.Left.Font == "" { + sampleConfig.SimpleVolumePa.Separator.Left.Font = sampleConfig.Separator.Left.Font + } + + if sampleConfig.SimpleVolumePa.Separator.Left.FontSize == "" { + sampleConfig.SimpleVolumePa.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.SimpleVolumePa.Separator.Left.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.SimpleVolumePa.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Left.FontSize, + ) + + sampleConfig.SimpleVolumePa.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } - if sampleConfig.SimpleVolumePa.Background == "" { - sampleConfig.SimpleVolumePa.Background = sampleConfig.Background + if !matched { + log.Printf( + "Unable to set sampleConfig.SimpleVolumePa.Separator.Left.FontSize, fallback to %s", + sampleConfig.Separator.Left.FontSize, + ) + + sampleConfig.SimpleVolumePa.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } + } + + if sampleConfig.SimpleVolumePa.Separator.Right.Color == "" { + sampleConfig.SimpleVolumePa.Separator.Right.Color = sampleConfig.Separator.Right.Color + } + + if sampleConfig.SimpleVolumePa.Separator.Right.Background == "" { + sampleConfig.SimpleVolumePa.Separator.Right.Background = sampleConfig.Separator.Right.Background + } + + if sampleConfig.SimpleVolumePa.Separator.Right.Symbol == "" { + sampleConfig.SimpleVolumePa.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } + + if sampleConfig.SimpleVolumePa.Separator.Right.Font == "" { + sampleConfig.SimpleVolumePa.Separator.Right.Font = sampleConfig.Separator.Right.Font + } + + if sampleConfig.SimpleVolumePa.Separator.Right.FontSize == "" { + sampleConfig.SimpleVolumePa.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.SimpleVolumePa.Separator.Right.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.SimpleVolumePa.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.SimpleVolumePa.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } - if sampleConfig.SimpleVolumePa.Font == "" { - sampleConfig.SimpleVolumePa.Font = sampleConfig.Font - } + if !matched { + log.Printf( + "Unable to set sampleConfig.SimpleVolumePa.Separator.Right.FontSize, fallback to %s", + sampleConfig.Separator.Right.FontSize, + ) - if sampleConfig.SimpleVolumePa.FontSize == "" { - sampleConfig.SimpleVolumePa.FontSize = sampleConfig.FontSize - } - - if sampleConfig.SimpleVolumePa.Symbol == "" { - sampleConfig.SimpleVolumePa.Symbol = `🔊` - } - - if sampleConfig.SimpleVolumePa.SymbolFont == "" { - sampleConfig.SimpleVolumePa.SymbolFont = sampleConfig.SimpleVolumePa.Font - } - - if sampleConfig.SimpleVolumePa.SymbolFontSize == "" { - sampleConfig.SimpleVolumePa.SymbolFontSize = sampleConfig.SimpleVolumePa.FontSize - } - - if sampleConfig.SimpleVolumePa.Step == 0 { - sampleConfig.SimpleVolumePa.Step = 5 - } - - if sampleConfig.SimpleVolumePa.WheelUp == 0 { - sampleConfig.SimpleVolumePa.WheelUp = 4 - } - - if sampleConfig.SimpleVolumePa.WheelDown == 0 { - sampleConfig.SimpleVolumePa.WheelDown = 5 - } - - if sampleConfig.SimpleVolumePa.MaxVolumeLimit == 0 { - sampleConfig.SimpleVolumePa.MaxVolumeLimit = 100 - } - - if len(sampleConfig.SimpleVolumePa.RightClickCmd) > 0 { - if sampleConfig.SimpleVolumePa.RightClickCmd[0] == "" { - sampleConfig.SimpleVolumePa.RightClickCmd[0] = "true" - } - } else { - sampleConfig.SimpleVolumePa.RightClickCmd = append(sampleConfig.SimpleVolumePa.RightClickCmd, "true") - } - - if sampleConfig.SimpleVolumePa.Separator.Left.Enabled { - if sampleConfig.SimpleVolumePa.Separator.Left.Color == "" { - sampleConfig.SimpleVolumePa.Separator.Left.Color = sampleConfig.Separator.Left.Color - } - - if sampleConfig.SimpleVolumePa.Separator.Left.Background == "" { - sampleConfig.SimpleVolumePa.Separator.Left.Background = sampleConfig.Separator.Left.Background - } - - if sampleConfig.SimpleVolumePa.Separator.Left.Symbol == "" { - sampleConfig.SimpleVolumePa.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } - - if sampleConfig.SimpleVolumePa.Separator.Left.Font == "" { - sampleConfig.SimpleVolumePa.Separator.Left.Font = sampleConfig.Separator.Left.Font - } - - if sampleConfig.SimpleVolumePa.Separator.Left.FontSize == "" { - sampleConfig.SimpleVolumePa.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.SimpleVolumePa.Separator.Left.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.SimpleVolumePa.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.SimpleVolumePa.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.SimpleVolumePa.Separator.Left.FontSize, fallback to %s", - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.SimpleVolumePa.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - } - } - - if sampleConfig.SimpleVolumePa.Separator.Right.Enabled { - if sampleConfig.SimpleVolumePa.Separator.Right.Color == "" { - sampleConfig.SimpleVolumePa.Separator.Right.Color = sampleConfig.Separator.Right.Color - } - - if sampleConfig.SimpleVolumePa.Separator.Right.Background == "" { - sampleConfig.SimpleVolumePa.Separator.Right.Background = sampleConfig.Separator.Right.Background - } - - if sampleConfig.SimpleVolumePa.Separator.Right.Symbol == "" { - sampleConfig.SimpleVolumePa.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol - } - - if sampleConfig.SimpleVolumePa.Separator.Right.Font == "" { - sampleConfig.SimpleVolumePa.Separator.Right.Font = sampleConfig.Separator.Right.Font - } - - if sampleConfig.SimpleVolumePa.Separator.Right.FontSize == "" { - sampleConfig.SimpleVolumePa.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.SimpleVolumePa.Separator.Right.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.SimpleVolumePa.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.SimpleVolumePa.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.SimpleVolumePa.Separator.Right.FontSize, fallback to %s", - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.SimpleVolumePa.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - } + sampleConfig.SimpleVolumePa.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } } @@ -1440,226 +1249,213 @@ func readConf() (MyConfig, error) { sampleConfig.Cron.Enabled = false } - if sampleConfig.Cron.Enabled { - if sampleConfig.Cron.TimeZone == "" { - sampleConfig.Cron.TimeZone = "GMT+0" - } + if sampleConfig.Cron.TimeZone == "" { + sampleConfig.Cron.TimeZone = "GMT+0" } + // sampleConfig.NetIf.Enabled will false if not set in config if len(sampleConfig.NetIf.If) == 0 { sampleConfig.NetIf.Enabled = false } - if sampleConfig.NetIf.Enabled { - if sampleConfig.NetIf.DownColor == "" { - sampleConfig.NetIf.DownColor = "red" + if sampleConfig.NetIf.DownColor == "" { + sampleConfig.NetIf.DownColor = "red" + } + + if sampleConfig.NetIf.UpColor == "" { + sampleConfig.NetIf.UpColor = "green" + } + + if sampleConfig.NetIf.Color == "" { + sampleConfig.NetIf.Color = sampleConfig.Color + } + + if sampleConfig.NetIf.Background == "" { + sampleConfig.NetIf.Background = sampleConfig.Background + } + + if sampleConfig.NetIf.Font == "" { + sampleConfig.NetIf.Font = sampleConfig.Font + } + + if sampleConfig.NetIf.FontSize == "" { + sampleConfig.NetIf.FontSize = sampleConfig.FontSize + } + + if sampleConfig.NetIf.Separator.Left.Color == "" { + sampleConfig.NetIf.Separator.Left.Color = sampleConfig.Separator.Left.Color + } + + if sampleConfig.NetIf.Separator.Left.Background == "" { + sampleConfig.NetIf.Separator.Left.Background = sampleConfig.Separator.Left.Background + } + + if sampleConfig.NetIf.Separator.Left.Symbol == "" { + sampleConfig.NetIf.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol + } + + if sampleConfig.NetIf.Separator.Left.Font == "" { + sampleConfig.NetIf.Separator.Left.Font = sampleConfig.Separator.Left.Font + } + + if sampleConfig.NetIf.Separator.Left.FontSize == "" { + sampleConfig.NetIf.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.NetIf.Separator.Left.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.NetIf.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Left.FontSize, + ) + + sampleConfig.NetIf.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } - if sampleConfig.NetIf.UpColor == "" { - sampleConfig.NetIf.UpColor = "green" + if !matched { + log.Printf("Unable to set sampleConfig.NetIf.Separator.Left.FontSize, fallback to %s", + sampleConfig.Separator.Left.FontSize, + ) + + sampleConfig.NetIf.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } + } + + if sampleConfig.NetIf.Separator.Right.Color == "" { + sampleConfig.NetIf.Separator.Right.Color = sampleConfig.Separator.Right.Color + } + + if sampleConfig.NetIf.Separator.Right.Background == "" { + sampleConfig.NetIf.Separator.Right.Background = sampleConfig.Separator.Right.Background + } + + if sampleConfig.NetIf.Separator.Right.Symbol == "" { + sampleConfig.NetIf.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } + + if sampleConfig.NetIf.Separator.Right.Font == "" { + sampleConfig.NetIf.Separator.Right.Font = sampleConfig.Separator.Right.Font + } + + if sampleConfig.NetIf.Separator.Right.FontSize == "" { + sampleConfig.NetIf.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.NetIf.Separator.Right.FontSize, + ) + + if err != nil { + log.Printf( + "Unable to set sampleConfig.NetIf.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.NetIf.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } - if sampleConfig.NetIf.Color == "" { - sampleConfig.NetIf.Color = sampleConfig.Color - } + if !matched { + log.Printf( + "Unable to set sampleConfig.NetIf.Separator.Right.FontSize, fallback to %s", + sampleConfig.NetIf.Separator.Right.FontSize, + ) - if sampleConfig.NetIf.Background == "" { - sampleConfig.NetIf.Background = sampleConfig.Background - } - - if sampleConfig.NetIf.Font == "" { - sampleConfig.NetIf.Font = sampleConfig.Font - } - - if sampleConfig.NetIf.FontSize == "" { - sampleConfig.NetIf.FontSize = sampleConfig.FontSize - } - - if sampleConfig.NetIf.Separator.Left.Enabled { - if sampleConfig.NetIf.Separator.Left.Color == "" { - sampleConfig.NetIf.Separator.Left.Color = sampleConfig.Separator.Left.Color - } - - if sampleConfig.NetIf.Separator.Left.Background == "" { - sampleConfig.NetIf.Separator.Left.Background = sampleConfig.Separator.Left.Background - } - - if sampleConfig.NetIf.Separator.Left.Symbol == "" { - sampleConfig.NetIf.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } - - if sampleConfig.NetIf.Separator.Left.Font == "" { - sampleConfig.NetIf.Separator.Left.Font = sampleConfig.Separator.Left.Font - } - - if sampleConfig.NetIf.Separator.Left.FontSize == "" { - sampleConfig.NetIf.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.NetIf.Separator.Left.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.NetIf.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.NetIf.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - - if !matched { - log.Printf("Unable to set sampleConfig.NetIf.Separator.Left.FontSize, fallback to %s", - sampleConfig.Separator.Left.FontSize, - ) - - sampleConfig.NetIf.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - } - } - - if sampleConfig.NetIf.Separator.Right.Enabled { - if sampleConfig.NetIf.Separator.Right.Color == "" { - sampleConfig.NetIf.Separator.Right.Color = sampleConfig.Separator.Right.Color - } - - if sampleConfig.NetIf.Separator.Right.Background == "" { - sampleConfig.NetIf.Separator.Right.Background = sampleConfig.Separator.Right.Background - } - - if sampleConfig.NetIf.Separator.Right.Symbol == "" { - sampleConfig.NetIf.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol - } - - if sampleConfig.NetIf.Separator.Right.Font == "" { - sampleConfig.NetIf.Separator.Right.Font = sampleConfig.Separator.Right.Font - } - - if sampleConfig.NetIf.Separator.Right.FontSize == "" { - sampleConfig.NetIf.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.NetIf.Separator.Right.FontSize, - ) - - if err != nil { - log.Printf( - "Unable to set sampleConfig.NetIf.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Right.FontSize, - ) - - sampleConfig.NetIf.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.NetIf.Separator.Right.FontSize, fallback to %s", - sampleConfig.NetIf.Separator.Right.FontSize, - ) - - sampleConfig.NetIf.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - } + sampleConfig.NetIf.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } } // sampleConfig.AppButtons.Enabled will false if not set in config - if sampleConfig.AppButtons.Enabled { - if sampleConfig.AppButtons.Separator.Left.Enabled { - if sampleConfig.AppButtons.Separator.Left.Color == "" { - sampleConfig.AppButtons.Separator.Left.Color = sampleConfig.Separator.Left.Color - } + if sampleConfig.AppButtons.Separator.Left.Color == "" { + sampleConfig.AppButtons.Separator.Left.Color = sampleConfig.Separator.Left.Color + } - if sampleConfig.AppButtons.Separator.Left.Background == "" { - sampleConfig.AppButtons.Separator.Left.Background = sampleConfig.Separator.Left.Background - } + if sampleConfig.AppButtons.Separator.Left.Background == "" { + sampleConfig.AppButtons.Separator.Left.Background = sampleConfig.Separator.Left.Background + } - if sampleConfig.AppButtons.Separator.Left.Symbol == "" { - sampleConfig.AppButtons.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol - } + if sampleConfig.AppButtons.Separator.Left.Symbol == "" { + sampleConfig.AppButtons.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol + } - if sampleConfig.AppButtons.Separator.Left.Font == "" { - sampleConfig.AppButtons.Separator.Left.Font = sampleConfig.Separator.Left.Font - } + if sampleConfig.AppButtons.Separator.Left.Font == "" { + sampleConfig.AppButtons.Separator.Left.Font = sampleConfig.Separator.Left.Font + } - if sampleConfig.AppButtons.Separator.Left.FontSize == "" { - sampleConfig.AppButtons.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.AppButtons.Separator.Left.FontSize, - ) + if sampleConfig.AppButtons.Separator.Left.FontSize == "" { + sampleConfig.AppButtons.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.AppButtons.Separator.Left.FontSize, + ) - if err != nil { - log.Printf( - "Unable to set sampleConfig.AppButtons.Separator.Left.FontSize: %s, fallback to %s", - err, - sampleConfig.AppButtons.Separator.Left.FontSize, - ) + if err != nil { + log.Printf( + "Unable to set sampleConfig.AppButtons.Separator.Left.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Left.FontSize, + ) - sampleConfig.AppButtons.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - - if !matched { - log.Printf( - "Unable to set sampleConfig.AppButtons.Separator.Left.FontSize, fallback to %s", - sampleConfig.AppButtons.Separator.Left.FontSize, - ) - - sampleConfig.AppButtons.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize - } - } + sampleConfig.AppButtons.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize } - if sampleConfig.AppButtons.Separator.Right.Enabled { - if sampleConfig.AppButtons.Separator.Right.Color == "" { - sampleConfig.AppButtons.Separator.Right.Color = sampleConfig.Separator.Right.Color - } + if !matched { + log.Printf( + "Unable to set sampleConfig.AppButtons.Separator.Left.FontSize, fallback to %s", + sampleConfig.Separator.Left.FontSize, + ) - if sampleConfig.AppButtons.Separator.Right.Background == "" { - sampleConfig.AppButtons.Separator.Right.Background = sampleConfig.Separator.Right.Background - } + sampleConfig.AppButtons.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize + } + } - if sampleConfig.AppButtons.Separator.Right.Symbol == "" { - sampleConfig.AppButtons.Separator.Right.Symbol = "|" - } + if sampleConfig.AppButtons.Separator.Right.Color == "" { + sampleConfig.AppButtons.Separator.Right.Color = sampleConfig.Separator.Right.Color + } - if sampleConfig.AppButtons.Separator.Right.Font == "" { - sampleConfig.AppButtons.Separator.Right.Font = sampleConfig.Separator.Right.Font - } + if sampleConfig.AppButtons.Separator.Right.Background == "" { + sampleConfig.AppButtons.Separator.Right.Background = sampleConfig.Separator.Right.Background + } - if sampleConfig.AppButtons.Separator.Right.FontSize == "" { - sampleConfig.AppButtons.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } else { - matched, err := regexp.MatchString( - `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, - sampleConfig.AppButtons.Separator.Right.FontSize, - ) + if sampleConfig.AppButtons.Separator.Right.Symbol == "" { + sampleConfig.AppButtons.Separator.Right.Symbol = sampleConfig.Separator.Right.Symbol + } - if err != nil { - log.Printf( - "Unable to set sampleConfig.AppButtons.Separator.Right.FontSize: %s, fallback to %s", - err, - sampleConfig.Separator.Right.FontSize, - ) + if sampleConfig.AppButtons.Separator.Right.Font == "" { + sampleConfig.AppButtons.Separator.Right.Font = sampleConfig.Separator.Right.Font + } - sampleConfig.AppButtons.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } + if sampleConfig.AppButtons.Separator.Right.FontSize == "" { + sampleConfig.AppButtons.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } else { + matched, err := regexp.MatchString( + `^(xx-small|x-small|small|medium|large|x-large|xx-large|smaller|larger)$`, + sampleConfig.AppButtons.Separator.Right.FontSize, + ) - if !matched { - log.Printf("Unable to set sampleConfig.AppButtons.Separator.Right.FontSize, fallback to %s", - sampleConfig.Separator.Right.FontSize, - ) + if err != nil { + log.Printf( + "Unable to set sampleConfig.AppButtons.Separator.Right.FontSize: %s, fallback to %s", + err, + sampleConfig.Separator.Right.FontSize, + ) - sampleConfig.AppButtons.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize - } - } + sampleConfig.AppButtons.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize + } + + if !matched { + log.Printf("Unable to set sampleConfig.AppButtons.Separator.Right.FontSize, fallback to %s", + sampleConfig.Separator.Right.FontSize, + ) + + sampleConfig.AppButtons.Separator.Right.FontSize = sampleConfig.Separator.Right.FontSize } }