Add font, font size, color, background color selection to all blocks
This commit is contained in:
85
batteries.go
85
batteries.go
@@ -23,7 +23,14 @@ func UpdateBatteryInfo() {
|
||||
batteries, err := battery.GetAll()
|
||||
|
||||
if err != nil {
|
||||
Batts = "<big>⚡</big> no batt"
|
||||
Batts = fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>%s</span><span font='%s' size='%s'> no batt</span>",
|
||||
Conf.Battery.SymbolFont,
|
||||
Conf.Battery.SymbolFontSize,
|
||||
Conf.Battery.Symbol,
|
||||
Conf.Battery.Font,
|
||||
Conf.Battery.FontSize,
|
||||
)
|
||||
} else {
|
||||
var (
|
||||
battsInfo string
|
||||
@@ -42,57 +49,97 @@ func UpdateBatteryInfo() {
|
||||
status = `•`
|
||||
}
|
||||
|
||||
// N.B. there can be case when battery is overcharged and shows >100%. It alse can indicate that
|
||||
// N.B. there can be case when battery is overcharged and shows >100%. It also can indicate that
|
||||
// calibration data is out of date and battery should be re-calibrated.
|
||||
ch = int(math.Round((b.Full - b.Current) * (100 / b.Full)))
|
||||
|
||||
switch {
|
||||
case ch > 85:
|
||||
if Conf.Battery.Color.Full == "" {
|
||||
chStr = fmt.Sprintf("% 3d%%", ch)
|
||||
if Conf.Battery.ChargeColor.Full == "" {
|
||||
chStr = fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>% 3d%%</span>",
|
||||
Conf.Battery.FontSize,
|
||||
Conf.Battery.ChargeColor.Full,
|
||||
ch,
|
||||
)
|
||||
} else {
|
||||
chStr = fmt.Sprintf(
|
||||
`<span foreground="%s">% 3d%%</span>`,
|
||||
Conf.Battery.Color.Full,
|
||||
`<span font='%s' size='%s' foreground='%s'>% 3d%%</span>`,
|
||||
Conf.Battery.Font,
|
||||
Conf.Battery.FontSize,
|
||||
Conf.Battery.ChargeColor.Full,
|
||||
ch,
|
||||
)
|
||||
}
|
||||
|
||||
case ch < 85 && ch > 40:
|
||||
if Conf.Battery.Color.AlmostFull == "" {
|
||||
chStr = fmt.Sprintf("% 3d%%", ch)
|
||||
if Conf.Battery.ChargeColor.AlmostFull == "" {
|
||||
chStr = fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>% 3d%%</span>",
|
||||
Conf.Battery.FontSize,
|
||||
Conf.Battery.ChargeColor.Full,
|
||||
ch,
|
||||
)
|
||||
} else {
|
||||
chStr = fmt.Sprintf(
|
||||
`<span foreground="%s">% 3d%%</span>`,
|
||||
Conf.Battery.Color.AlmostFull,
|
||||
`<span font='%s' size='%s' foreground='%s'>% 3d%%</span>`,
|
||||
Conf.Battery.Font,
|
||||
Conf.Battery.FontSize,
|
||||
Conf.Battery.ChargeColor.AlmostFull,
|
||||
ch,
|
||||
)
|
||||
}
|
||||
|
||||
case ch <= 40 && ch >= 10:
|
||||
if Conf.Battery.Color.AlmostEmpty == "" {
|
||||
chStr = fmt.Sprintf("% 3d%%", ch)
|
||||
if Conf.Battery.ChargeColor.AlmostEmpty == "" {
|
||||
chStr = fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>% 3d%%</span>",
|
||||
Conf.Battery.FontSize,
|
||||
Conf.Battery.ChargeColor.Full,
|
||||
ch,
|
||||
)
|
||||
} else {
|
||||
chStr = fmt.Sprintf(
|
||||
`<span foreground="%s">% 3d%%</span>`,
|
||||
Conf.Battery.Color.AlmostEmpty,
|
||||
`<span font='%s' size='%s' foreground='%s'>% 3d%%</span>`,
|
||||
Conf.Battery.Font,
|
||||
Conf.Battery.FontSize,
|
||||
Conf.Battery.ChargeColor.AlmostEmpty,
|
||||
ch,
|
||||
)
|
||||
}
|
||||
|
||||
case ch < 10:
|
||||
if Conf.Battery.Color.Empty == "" {
|
||||
chStr = fmt.Sprintf("% 3d%%", ch)
|
||||
if Conf.Battery.ChargeColor.Empty == "" {
|
||||
chStr = fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>% 3d%%</span>",
|
||||
Conf.Battery.FontSize,
|
||||
Conf.Battery.ChargeColor.Full,
|
||||
ch,
|
||||
)
|
||||
} else {
|
||||
chStr = fmt.Sprintf(
|
||||
`<span foreground="%s">% 3d%%</span>`,
|
||||
Conf.Battery.Color.Empty,
|
||||
`<span font='%s' size='%s' foreground='%s'>% 3d%%</span>`,
|
||||
Conf.Battery.Font,
|
||||
Conf.Battery.FontSize,
|
||||
Conf.Battery.ChargeColor.Empty,
|
||||
ch,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
battsInfo += fmt.Sprintf("<big>⚡</big>B%d %s %s", i, chStr, status)
|
||||
battsInfo += fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>%s</span><span font='%s' size='%s'>B%d </span>%s<span font='%s' size='%s'> %s</span>",
|
||||
Conf.Battery.SymbolFont,
|
||||
Conf.Battery.SymbolFontSize,
|
||||
Conf.Battery.Symbol,
|
||||
Conf.Battery.Font,
|
||||
Conf.Battery.FontSize,
|
||||
i,
|
||||
chStr,
|
||||
Conf.Battery.Font,
|
||||
Conf.Battery.FontSize,
|
||||
status,
|
||||
)
|
||||
}
|
||||
|
||||
if battsInfo != "" {
|
||||
|
||||
2
clock.go
2
clock.go
@@ -18,7 +18,7 @@ func UpdateClock() {
|
||||
rmonth := [12]string{"Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"}
|
||||
rdow := [7]string{"Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"}
|
||||
|
||||
myclock := fmt.Sprintf("<big> %s, %d %s %d % 2d:%02d </big>", rdow[dow], day, rmonth[month-1], year, hours, minutes)
|
||||
myclock := fmt.Sprintf(" %s, %d %s %d % 2d:%02d ", rdow[dow], day, rmonth[month-1], year, hours, minutes)
|
||||
|
||||
if myclock != Clock {
|
||||
Clock = myclock
|
||||
|
||||
451
config.go
451
config.go
@@ -21,6 +21,12 @@ type MyConfig struct {
|
||||
// Default background color
|
||||
Background string `json:"background,omitempty"`
|
||||
|
||||
// Default text font
|
||||
Font string `json:"font,omitempty"`
|
||||
|
||||
// Default text font size
|
||||
FontSize string `json:"font_size,omitempty"`
|
||||
|
||||
Separator struct {
|
||||
Left struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
@@ -30,6 +36,7 @@ type MyConfig struct {
|
||||
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"`
|
||||
@@ -42,7 +49,11 @@ type MyConfig struct {
|
||||
|
||||
// LA Plugin
|
||||
LA struct {
|
||||
Enabled bool `json:"enabled,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 struct {
|
||||
Left struct {
|
||||
@@ -53,6 +64,7 @@ type MyConfig struct {
|
||||
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"`
|
||||
@@ -64,9 +76,14 @@ type MyConfig struct {
|
||||
} `json:"separator,omitempty"`
|
||||
} `json:"la,omitempty"`
|
||||
|
||||
// Mem plugin
|
||||
Mem struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
ShowSwap bool `json:"show_swap,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 struct {
|
||||
Left struct {
|
||||
@@ -89,8 +106,11 @@ type MyConfig struct {
|
||||
} `json:"mem,omitempty"`
|
||||
|
||||
Clock struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
Color string `json:"color,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 struct {
|
||||
Left struct {
|
||||
@@ -123,13 +143,21 @@ type MyConfig struct {
|
||||
} `json:"clock,omitempty"`
|
||||
|
||||
Battery struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
Color 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"`
|
||||
|
||||
ChargeColor struct {
|
||||
Full string `json:"full,omitempty"`
|
||||
Empty string `json:"empty,omitempty"`
|
||||
AlmostFull string `json:"almost_full,omitempty"`
|
||||
AlmostEmpty string `json:"almost_empty,omitempty"`
|
||||
} `json:"color,omitempty"`
|
||||
} `json:"charge_color,omitempty"`
|
||||
|
||||
Separator struct {
|
||||
Left struct {
|
||||
@@ -152,7 +180,12 @@ type MyConfig struct {
|
||||
} `json:"battery,omitempty"`
|
||||
|
||||
CPUTemp struct {
|
||||
Enabled bool `json:"enabled,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 struct {
|
||||
Left struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
@@ -162,6 +195,7 @@ type MyConfig struct {
|
||||
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"`
|
||||
@@ -171,11 +205,16 @@ type MyConfig struct {
|
||||
FontSize string `json:"font_size,omitempty"`
|
||||
} `json:"right,omitempty"`
|
||||
} `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"`
|
||||
@@ -209,9 +248,15 @@ type MyConfig struct {
|
||||
} `json:"vpn,omitempty"`
|
||||
|
||||
SimpleVolumePa struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
Symbol string `json:"symbol,omitempty"`
|
||||
FontSize string `json:"font_size,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"`
|
||||
|
||||
Separator struct {
|
||||
Left struct {
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
@@ -239,9 +284,13 @@ 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"`
|
||||
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 {
|
||||
@@ -320,7 +369,7 @@ type MyConfig struct {
|
||||
// Conf global variable with application config.
|
||||
var Conf MyConfig
|
||||
|
||||
// readConf reads and validates confg if config does not exist, it puts default config to the same dir where i3 config
|
||||
// readConf reads and validates config if config does not exist, it puts default config to the same dir where i3 config
|
||||
// is located.
|
||||
func readConf() (MyConfig, error) {
|
||||
var (
|
||||
@@ -338,7 +387,8 @@ func readConf() (MyConfig, error) {
|
||||
|
||||
fileInfo, err := os.Stat(path)
|
||||
|
||||
// Предполагаем, что файла либо нет, либо мы не можем его прочитать, второе надо бы логгировать, но пока забьём.
|
||||
// Assume that either we unable to read file or file does not exit. We should mention second in logs but forget
|
||||
// about it for now.
|
||||
if err != nil {
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
buf = DefaultConfig
|
||||
@@ -350,7 +400,7 @@ func readConf() (MyConfig, error) {
|
||||
return config, err
|
||||
}
|
||||
} else {
|
||||
// Конфиг-файл длинноват для конфига.
|
||||
// Config file looks too long for config...
|
||||
if fileInfo.Size() > 65535 {
|
||||
err := fmt.Errorf("config file %s is too long for config", path) //nolint: goerr113
|
||||
|
||||
@@ -359,7 +409,6 @@ func readConf() (MyConfig, error) {
|
||||
|
||||
buf, err = os.ReadFile(path)
|
||||
|
||||
// Не удалось прочитать
|
||||
if err != nil {
|
||||
err = fmt.Errorf("unable to read config file %s: %w", path, err)
|
||||
|
||||
@@ -406,6 +455,14 @@ func readConf() (MyConfig, error) {
|
||||
sampleConfig.Background = "#edeceb"
|
||||
}
|
||||
|
||||
if sampleConfig.Font == "" {
|
||||
sampleConfig.Font = "Liberation Mono"
|
||||
}
|
||||
|
||||
if sampleConfig.FontSize == "" {
|
||||
sampleConfig.FontSize = "medium"
|
||||
}
|
||||
|
||||
if sampleConfig.Separator.Left.Enabled {
|
||||
if sampleConfig.Separator.Left.Color == "" {
|
||||
sampleConfig.Separator.Left.Color = "#edeceb"
|
||||
@@ -429,15 +486,23 @@ func readConf() (MyConfig, error) {
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
log.Printf("Unable to set sampleConfig.Separator.Left.FontSize: %s, fallback to medium", err)
|
||||
log.Printf(
|
||||
"Unable to set sampleConfig.Separator.Left.FontSize: %s, fallback to %s",
|
||||
err,
|
||||
sampleConfig.FontSize,
|
||||
)
|
||||
|
||||
sampleConfig.Separator.Left.FontSize = "medium"
|
||||
sampleConfig.Separator.Left.FontSize = sampleConfig.FontSize
|
||||
}
|
||||
|
||||
if !matched {
|
||||
log.Printf("Unable to set sampleConfig.Separator.Left.FontSize: %s, fallback to medium", err)
|
||||
log.Printf(
|
||||
"Unable to set sampleConfig.Separator.Left.FontSize: %s, fallback to %s",
|
||||
err,
|
||||
sampleConfig.FontSize,
|
||||
)
|
||||
|
||||
sampleConfig.Separator.Left.FontSize = "medium"
|
||||
sampleConfig.Separator.Left.FontSize = sampleConfig.FontSize
|
||||
}
|
||||
}
|
||||
|
||||
@@ -464,15 +529,22 @@ func readConf() (MyConfig, error) {
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
log.Printf("Unable to set sampleConfig.Separator.Right.FontSize: %s, fallback to medium", err)
|
||||
log.Printf(
|
||||
"Unable to set sampleConfig.Separator.Right.FontSize: %s, fallback to %s",
|
||||
err,
|
||||
sampleConfig.FontSize,
|
||||
)
|
||||
|
||||
sampleConfig.Separator.Right.FontSize = "medium"
|
||||
sampleConfig.Separator.Right.FontSize = sampleConfig.FontSize
|
||||
}
|
||||
|
||||
if !matched {
|
||||
log.Printf("Unable to set sampleConfig.Separator.Right.FontSize: %s, fallback to medium", err)
|
||||
log.Printf("Unable to set sampleConfig.Separator.Right.FontSize: %s, fallback to %s",
|
||||
err,
|
||||
sampleConfig.FontSize,
|
||||
)
|
||||
|
||||
sampleConfig.Separator.Right.FontSize = "medium"
|
||||
sampleConfig.Separator.Right.FontSize = sampleConfig.FontSize
|
||||
}
|
||||
}
|
||||
|
||||
@@ -525,6 +597,22 @@ func readConf() (MyConfig, error) {
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
@@ -573,6 +661,22 @@ func readConf() (MyConfig, error) {
|
||||
|
||||
// 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.Font == "" {
|
||||
sampleConfig.Mem.Font = sampleConfig.Font
|
||||
}
|
||||
|
||||
if sampleConfig.Mem.FontSize == "" {
|
||||
sampleConfig.Mem.FontSize = sampleConfig.FontSize
|
||||
}
|
||||
|
||||
if sampleConfig.Mem.Separator.Left.Color == "" {
|
||||
sampleConfig.Mem.Separator.Left.Color = sampleConfig.Separator.Left.Color
|
||||
}
|
||||
@@ -667,7 +771,19 @@ func readConf() (MyConfig, error) {
|
||||
// sampleConfig.Clock.Enabled will be false if not set in config
|
||||
if sampleConfig.Clock.Enabled {
|
||||
if sampleConfig.Clock.Color == "" {
|
||||
sampleConfig.Clock.Color = "#666666"
|
||||
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 {
|
||||
@@ -761,117 +877,146 @@ func readConf() (MyConfig, error) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// sampleConfig.Clock.LeftClick.Enabled will be false if not set in config
|
||||
// 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")
|
||||
}
|
||||
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
|
||||
// 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
|
||||
// sampleConfig.Battery.Color.Full will be empty string if not set
|
||||
// sampleConfig.Battery.Color.Empty will be empty string if not set
|
||||
// sampleConfig.Battery.Color.AlmostFull will be empty string if not set
|
||||
// sampleConfig.Battery.Color.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.Enabled {
|
||||
if sampleConfig.Battery.Color == "" {
|
||||
sampleConfig.Battery.Color = sampleConfig.Color
|
||||
}
|
||||
|
||||
if sampleConfig.Battery.Separator.Left.Background == "" {
|
||||
sampleConfig.Battery.Separator.Left.Background = sampleConfig.Separator.Left.Background
|
||||
if sampleConfig.Battery.Background == "" {
|
||||
sampleConfig.Battery.Background = sampleConfig.Background
|
||||
}
|
||||
|
||||
if sampleConfig.Battery.Separator.Left.Symbol == "" {
|
||||
sampleConfig.Battery.Separator.Left.Symbol = sampleConfig.Separator.Left.Symbol
|
||||
if sampleConfig.Battery.Font == "" {
|
||||
sampleConfig.Battery.Font = sampleConfig.Font
|
||||
}
|
||||
|
||||
if sampleConfig.Battery.Separator.Left.Font == "" {
|
||||
sampleConfig.Battery.Separator.Left.Font = sampleConfig.Separator.Left.Font
|
||||
if sampleConfig.Battery.FontSize == "" {
|
||||
sampleConfig.Battery.FontSize = sampleConfig.FontSize
|
||||
}
|
||||
|
||||
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 sampleConfig.Battery.Symbol == "" {
|
||||
sampleConfig.Battery.Symbol = "⚡"
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.Printf(
|
||||
"Unable to set sampleConfig.Battery.Separator.Left.FontSize: %s, fallback to %s",
|
||||
err,
|
||||
sampleConfig.Separator.Left.FontSize,
|
||||
)
|
||||
if sampleConfig.Battery.SymbolFont == "" {
|
||||
sampleConfig.Battery.SymbolFont = sampleConfig.Battery.Font
|
||||
}
|
||||
|
||||
sampleConfig.Battery.Separator.Left.FontSize = sampleConfig.Separator.Left.FontSize
|
||||
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 !matched {
|
||||
log.Printf(
|
||||
"Unable to set sampleConfig.Battery.Separator.Left.FontSize, fallback to %s",
|
||||
sampleConfig.Separator.Left.FontSize,
|
||||
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,
|
||||
)
|
||||
|
||||
sampleConfig.Battery.Separator.Left.FontSize = sampleConfig.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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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.CpuTemp.Enabled will be false if not set in config
|
||||
|
||||
// No files configured - disable plugin
|
||||
@@ -880,6 +1025,22 @@ func readConf() (MyConfig, error) {
|
||||
}
|
||||
|
||||
if sampleConfig.CPUTemp.Enabled {
|
||||
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
|
||||
@@ -979,11 +1140,27 @@ func readConf() (MyConfig, error) {
|
||||
}
|
||||
|
||||
if sampleConfig.Vpn.Enabled {
|
||||
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 //nocritic: wsl
|
||||
sampleConfig.Vpn.MtimeThreshold = 3
|
||||
}
|
||||
|
||||
// sampleConfig.Vpn.DownColor will be empty string if no value set in config
|
||||
@@ -1109,16 +1286,34 @@ func readConf() (MyConfig, error) {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: appbuttons, etc..
|
||||
// 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.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.FontSize == "" {
|
||||
sampleConfig.SimpleVolumePa.FontSize = "medium"
|
||||
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 {
|
||||
@@ -1264,6 +1459,22 @@ func readConf() (MyConfig, error) {
|
||||
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.Enabled {
|
||||
if sampleConfig.NetIf.Separator.Left.Color == "" {
|
||||
sampleConfig.NetIf.Separator.Left.Color = sampleConfig.Separator.Left.Color
|
||||
|
||||
@@ -5,30 +5,53 @@
|
||||
// Default backbround color. If not set value of #edeceb is used.
|
||||
"background" : "#000000",
|
||||
|
||||
// Can be omitted, then Liberation Mono will be used.
|
||||
"font": "Liberation Mono",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
"font_size": "medium",
|
||||
|
||||
"separator" : {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to #edeceb color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to #3e78fd background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to "|" (no quotes) symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to "Noto Sans" font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// False if value omitted
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
// Used #edeceb as default if value omitted
|
||||
|
||||
// If omitted set to #edeceb color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
// If not set #3e78fd is used.
|
||||
|
||||
// If omitted set to #3e78fd background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
// If omitted, used "|" (no quotes) as default
|
||||
|
||||
// If omitted set to "|" (no quotes) symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to "Noto Sans" font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
},
|
||||
@@ -36,28 +59,64 @@
|
||||
// Memory stats
|
||||
"mem" : {
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default font defined up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
|
||||
"font_size": "medium",
|
||||
|
||||
// Do we show used swap megs?
|
||||
"show_swap": false,
|
||||
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator" : {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
}
|
||||
@@ -67,26 +126,60 @@
|
||||
"la" : {
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default font defined up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
|
||||
"font_size": "medium",
|
||||
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator" : {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
}
|
||||
@@ -94,29 +187,67 @@
|
||||
|
||||
"net-if" : {
|
||||
"enabled" : false,
|
||||
// In html notation
|
||||
|
||||
// If omitted set to default color defined up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default font defined up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
|
||||
"font_size": "medium",
|
||||
|
||||
// Net interface down symbol color, in html notation.
|
||||
"down_color" : "red",
|
||||
|
||||
// Net interface up symbol color, in html notation.
|
||||
"up_color" : "green",
|
||||
|
||||
"separator" : {
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator": {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
},
|
||||
@@ -125,47 +256,89 @@
|
||||
{
|
||||
// Name as it displayed on i3bar
|
||||
"name" : "eth0",
|
||||
|
||||
// Directory containing net if status files
|
||||
"dir" : "/sys/class/net/eth0"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
// OpenVPN status. Note that directive status in openvpn.conf should point to
|
||||
// state file and *update* its timestamp at least as frequent as mtime_threshold in seconds
|
||||
// OpenVPN status. Note that directive status in openvpn.conf should point to state file and *update* its timestamp at
|
||||
// least as frequent as mtime_threshold in seconds.
|
||||
"vpn": {
|
||||
"enabled": false,
|
||||
|
||||
// If omitted set to default color defined up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default font defined up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
|
||||
"font_size": "medium",
|
||||
|
||||
// Status file location. Plugin will be disabled if this value omitted.
|
||||
"statusfile" : "/tmp/openvpn-status.stat",
|
||||
|
||||
// mtime check period.
|
||||
"mtime_threshold": 10,
|
||||
// Color in html notation
|
||||
|
||||
// Vpn down symbol color, in html notation.
|
||||
"down_color" : "red",
|
||||
|
||||
// Vpn up symbol color, in html notation.
|
||||
"up_color" : "green",
|
||||
|
||||
"separator" : {
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator": {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
},
|
||||
|
||||
// Also we can tcp-ping some service inside vpn network to ensure that connection is not stoned
|
||||
// Also we can tcp-ping some service inside vpn network to ensure that connection is not stoned.
|
||||
"tcp_check" : {
|
||||
"enabled": false,
|
||||
"host": "somehost.tld",
|
||||
@@ -177,11 +350,25 @@
|
||||
// Simple sound volume indicator
|
||||
"simple-volume-pa": {
|
||||
"enabled": false,
|
||||
|
||||
// If omitted set to default color defined up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default font defined up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
|
||||
"font_size": "medium",
|
||||
|
||||
"symbol": "🔊",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to medium by default.
|
||||
"font_size": "medium",
|
||||
// ‘smaller’ or ‘larger’. If omitted set to value of simple-volume-pa.font_size by default.
|
||||
"symbol_font_size": "medium",
|
||||
|
||||
// If not defined - will be "true"
|
||||
"right_click_cmd": ["pavucontrol"],
|
||||
@@ -199,26 +386,47 @@
|
||||
// Maximum sound volume, can be over 100%, but sould not be :) Default value 100 if not set.
|
||||
"max_volume_limit": 120,
|
||||
|
||||
"separator" : {
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator": {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’,, or one of the relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
}
|
||||
@@ -227,29 +435,61 @@
|
||||
// Just clock
|
||||
"clock": {
|
||||
"enabled" : true,
|
||||
// Text color in html (actually, pango) notation
|
||||
"color" : "#666666",
|
||||
|
||||
"separator" : {
|
||||
// If omitted set to default color defined up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default font defined up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
|
||||
"font_size": "medium",
|
||||
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator": {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
},
|
||||
@@ -270,7 +510,30 @@
|
||||
"battery": {
|
||||
"enabled": false,
|
||||
|
||||
"color": {
|
||||
// If omitted set to default color defined up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default font defined up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
|
||||
"font_size": "medium",
|
||||
|
||||
// If omitted "⚡" (no quotes) is used.
|
||||
"symbol": "⚡",
|
||||
|
||||
// If omitted battery.font is used.
|
||||
"symbol_font" : "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to value of simple-volume-pa.font_size by default.
|
||||
"symbol_font_size": "large",
|
||||
|
||||
"charge_color": {
|
||||
// colors in html notation
|
||||
"full": "green",
|
||||
"empty": "red",
|
||||
@@ -278,26 +541,47 @@
|
||||
"almost_empty": "orange"
|
||||
},
|
||||
|
||||
"separator" : {
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator": {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
}
|
||||
@@ -307,26 +591,60 @@
|
||||
"cpu_temp": {
|
||||
"enabled": false,
|
||||
|
||||
"separator" : {
|
||||
// If omitted set to default color defined up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default font defined up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
|
||||
"font_size": "medium",
|
||||
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator": {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
},
|
||||
@@ -367,31 +685,54 @@
|
||||
]
|
||||
},
|
||||
|
||||
// Weather to display Application Buttons
|
||||
// Whether to display Application Buttons.
|
||||
"app_buttons": {
|
||||
"enabled": true,
|
||||
|
||||
"separator" : {
|
||||
// Re-define separator parameters for net-if block here.
|
||||
"separator": {
|
||||
"left": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "▶",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
},
|
||||
|
||||
"right": {
|
||||
// Set to false if omitted.
|
||||
"enabled": true,
|
||||
|
||||
// If omitted set to default color defined for separator up here.
|
||||
"color": "#3e78fd",
|
||||
|
||||
// If omitted set to default background color defined for separator up here.
|
||||
"background": "#000000",
|
||||
|
||||
// If omitted set to default symbol defined for separator up here.
|
||||
"symbol": "◀",
|
||||
|
||||
// If omitted set to default font defined for separator up here.
|
||||
"font": "Noto Sans",
|
||||
|
||||
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
|
||||
// ‘smaller’ or ‘larger’
|
||||
// ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
|
||||
"font_size": "medium"
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
// Buttons - application launch "buttons"
|
||||
|
||||
78
main.go
78
main.go
@@ -179,6 +179,9 @@ func main() {
|
||||
if Conf.CPUTemp.Enabled {
|
||||
var b I3BarOutBlock
|
||||
|
||||
b.Color = Conf.CPUTemp.Color
|
||||
b.Background = Conf.CPUTemp.Background
|
||||
|
||||
if Conf.CPUTemp.Separator.Left.Enabled {
|
||||
b.FullText = fmt.Sprintf(
|
||||
"<span color='%s' background='%s' size='%s'>%s</span>",
|
||||
@@ -189,7 +192,12 @@ func main() {
|
||||
)
|
||||
}
|
||||
|
||||
b.FullText += fmt.Sprintf("CPU: %d°", CPUTemperature)
|
||||
b.FullText += fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>CPU: %d°</span>",
|
||||
Conf.CPUTemp.Font,
|
||||
Conf.CPUTemp.FontSize,
|
||||
CPUTemperature,
|
||||
)
|
||||
|
||||
if Conf.CPUTemp.Separator.Right.Enabled {
|
||||
b.FullText += fmt.Sprintf(
|
||||
@@ -210,6 +218,9 @@ func main() {
|
||||
if Conf.Mem.Enabled {
|
||||
var b I3BarOutBlock
|
||||
|
||||
b.Color = Conf.Mem.Color
|
||||
b.Background = Conf.Mem.Background
|
||||
|
||||
if Conf.Mem.Separator.Left.Enabled {
|
||||
b.FullText = fmt.Sprintf(
|
||||
"<span color='%s' background='%s' size='%s'>%s</span>",
|
||||
@@ -221,9 +232,22 @@ func main() {
|
||||
}
|
||||
|
||||
if Conf.Mem.ShowSwap {
|
||||
b.FullText += fmt.Sprintf("M:%d%% SHM:%dM SW:%dM", Memory.Usedpct, Memory.Shared, Memory.Swap)
|
||||
b.FullText += fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>M:%d%% SHM:%dM SW:%dM</span>",
|
||||
Conf.Mem.Font,
|
||||
Conf.Mem.FontSize,
|
||||
Memory.Usedpct,
|
||||
Memory.Shared,
|
||||
Memory.Swap,
|
||||
)
|
||||
} else {
|
||||
b.FullText += fmt.Sprintf("M:%d%% SHM:%dM", Memory.Usedpct, Memory.Shared)
|
||||
b.FullText += fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>M:%d%% SHM:%dM</span>",
|
||||
Conf.Mem.Font,
|
||||
Conf.Mem.FontSize,
|
||||
Memory.Usedpct,
|
||||
Memory.Shared,
|
||||
)
|
||||
}
|
||||
|
||||
if Conf.Mem.Separator.Right.Enabled {
|
||||
@@ -245,6 +269,9 @@ func main() {
|
||||
if Conf.LA.Enabled {
|
||||
var b I3BarOutBlock
|
||||
|
||||
b.Color = Conf.LA.Color
|
||||
b.Background = Conf.LA.Background
|
||||
|
||||
if Conf.LA.Separator.Left.Enabled {
|
||||
b.FullText = fmt.Sprintf(
|
||||
"<span color='%s' background='%s' size='%s'>%s</span>",
|
||||
@@ -255,7 +282,12 @@ func main() {
|
||||
)
|
||||
}
|
||||
|
||||
b.FullText += fmt.Sprintf("LA: %s", La)
|
||||
b.FullText += fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>LA:%s</span>",
|
||||
Conf.LA.Font,
|
||||
Conf.LA.FontSize,
|
||||
La,
|
||||
)
|
||||
|
||||
if Conf.LA.Separator.Right.Enabled {
|
||||
b.FullText += fmt.Sprintf(
|
||||
@@ -276,6 +308,9 @@ func main() {
|
||||
if Conf.NetIf.Enabled {
|
||||
var b I3BarOutBlock
|
||||
|
||||
b.Color = Conf.NetIf.Color
|
||||
b.Background = Conf.NetIf.Background
|
||||
|
||||
if Conf.NetIf.Separator.Left.Enabled {
|
||||
b.FullText = fmt.Sprintf(
|
||||
"<span color='%s' background='%s' size='%s'>%s</span>",
|
||||
@@ -286,7 +321,12 @@ func main() {
|
||||
)
|
||||
}
|
||||
|
||||
b.FullText += IfStatus
|
||||
b.FullText += fmt.Sprintf(
|
||||
"<span font='%s' size= '%s'>%s</span>",
|
||||
Conf.NetIf.Font,
|
||||
Conf.NetIf.FontSize,
|
||||
IfStatus,
|
||||
)
|
||||
|
||||
if Conf.NetIf.Separator.Right.Enabled {
|
||||
b.FullText += fmt.Sprintf(
|
||||
@@ -307,6 +347,9 @@ func main() {
|
||||
if Conf.Vpn.Enabled {
|
||||
var b I3BarOutBlock
|
||||
|
||||
b.Color = Conf.Vpn.Color
|
||||
b.Background = Conf.Vpn.Background
|
||||
|
||||
if Conf.Vpn.Separator.Left.Enabled {
|
||||
b.FullText = fmt.Sprintf(
|
||||
"<span color='%s' background='%s' size='%s'>%s</span>",
|
||||
@@ -317,7 +360,12 @@ func main() {
|
||||
)
|
||||
}
|
||||
|
||||
b.FullText += VPNStatus
|
||||
b.FullText += fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>%s</span>",
|
||||
Conf.Vpn.Font,
|
||||
Conf.Vpn.FontSize,
|
||||
VPNStatus,
|
||||
)
|
||||
|
||||
if Conf.Vpn.Separator.Right.Enabled {
|
||||
b.FullText += fmt.Sprintf(
|
||||
@@ -338,6 +386,9 @@ func main() {
|
||||
if Conf.Battery.Enabled {
|
||||
var b I3BarOutBlock
|
||||
|
||||
b.Color = Conf.Battery.Color
|
||||
b.Background = Conf.Battery.Background
|
||||
|
||||
if Conf.Battery.Separator.Left.Enabled {
|
||||
b.FullText = fmt.Sprintf(
|
||||
"<span color='%s' background='%s' size='%s'>%s</span>",
|
||||
@@ -368,7 +419,10 @@ func main() {
|
||||
|
||||
if Conf.SimpleVolumePa.Enabled {
|
||||
var b I3BarOutBlock
|
||||
|
||||
b.Name = "simple-volume-pa"
|
||||
b.Color = Conf.SimpleVolumePa.Color
|
||||
b.Background = Conf.SimpleVolumePa.Background
|
||||
|
||||
if Conf.SimpleVolumePa.Separator.Left.Enabled {
|
||||
b.FullText = fmt.Sprintf(
|
||||
@@ -380,6 +434,7 @@ func main() {
|
||||
)
|
||||
}
|
||||
|
||||
// Pango format is already applied in plugin src.
|
||||
b.FullText += SoundVolume
|
||||
|
||||
if Conf.SimpleVolumePa.Separator.Right.Enabled {
|
||||
@@ -400,7 +455,10 @@ func main() {
|
||||
|
||||
if Conf.Clock.Enabled {
|
||||
var b I3BarOutBlock
|
||||
|
||||
b.Name = `wallclock`
|
||||
b.Color = Conf.Clock.Color
|
||||
b.Background = Conf.Clock.Background
|
||||
|
||||
if Conf.Clock.Separator.Left.Enabled {
|
||||
b.FullText = fmt.Sprintf(
|
||||
@@ -412,7 +470,12 @@ func main() {
|
||||
)
|
||||
}
|
||||
|
||||
b.FullText += Clock
|
||||
b.FullText += fmt.Sprintf(
|
||||
"<span font='%s' size='%s'>%s</span>",
|
||||
Conf.Clock.Font,
|
||||
Conf.Clock.FontSize,
|
||||
Clock,
|
||||
)
|
||||
|
||||
if Conf.Clock.Separator.Right.Enabled {
|
||||
b.FullText += fmt.Sprintf(
|
||||
@@ -425,7 +488,6 @@ func main() {
|
||||
}
|
||||
|
||||
b.Markup = "pango"
|
||||
b.Color = Conf.Clock.Color
|
||||
b.Separator = false
|
||||
|
||||
j = append(j, b)
|
||||
|
||||
@@ -36,16 +36,19 @@ func UpdateVolumeInfo() {
|
||||
}
|
||||
|
||||
SoundVolume = fmt.Sprintf(
|
||||
"<span size='%s'>%s</span>:%d%%",
|
||||
Conf.SimpleVolumePa.FontSize,
|
||||
"<span font='%s' size='%s'>%s</span><span font='%s' size='%s'>:%d%%</span>",
|
||||
Conf.SimpleVolumePa.SymbolFont,
|
||||
Conf.SimpleVolumePa.SymbolFontSize,
|
||||
Conf.SimpleVolumePa.Symbol,
|
||||
Conf.SimpleVolumePa.Font,
|
||||
Conf.SimpleVolumePa.FontSize,
|
||||
int64(vol*100),
|
||||
)
|
||||
|
||||
UpdateReady <- true
|
||||
|
||||
for {
|
||||
// Subscribe to update notification channel, to get info that volume changed
|
||||
// Subscribe to update notification channel, to get info that volume changed.
|
||||
pulseUpdate, err := pa.Updates()
|
||||
|
||||
if err != nil {
|
||||
@@ -65,9 +68,12 @@ func UpdateVolumeInfo() {
|
||||
}
|
||||
|
||||
SoundVolume = fmt.Sprintf(
|
||||
"<span size='%s'>%s</span>:%d%%",
|
||||
Conf.SimpleVolumePa.FontSize,
|
||||
"<span font='%s' size='%s'>%s</span><span font='%s' size='%s'>:%d%%</span>",
|
||||
Conf.SimpleVolumePa.SymbolFont,
|
||||
Conf.SimpleVolumePa.SymbolFontSize,
|
||||
Conf.SimpleVolumePa.Symbol,
|
||||
Conf.SimpleVolumePa.Font,
|
||||
Conf.SimpleVolumePa.FontSize,
|
||||
int64(vol*100),
|
||||
)
|
||||
|
||||
@@ -89,7 +95,7 @@ func UpdateVolumeInfo() {
|
||||
func PaReinit() error {
|
||||
var err error
|
||||
|
||||
// If we out of updates, it seems that someone killed pulseaudio server. Restart it.
|
||||
// If we out of updates, seems someone killed pulseaudio server. Restart it.
|
||||
cmd := exec.Command("pulseaudio", "--check")
|
||||
|
||||
if err := cmd.Run(); err == nil {
|
||||
|
||||
Reference in New Issue
Block a user