Use tickers instead of time.Sleep(), simplify main loop condition
This commit is contained in:
@@ -160,413 +160,411 @@ func main() {
|
|||||||
|
|
||||||
fmt.Println("[ [],")
|
fmt.Println("[ [],")
|
||||||
|
|
||||||
for {
|
for range Conf.Channels.UpdateReady {
|
||||||
if <-Conf.Channels.UpdateReady {
|
// Actually build json struct, marshal it and print result
|
||||||
// Actually build json struct, marshal it and print result
|
var j []lib.I3BarOutBlock
|
||||||
var j []lib.I3BarOutBlock
|
|
||||||
|
|
||||||
// TODO: впилить для первого и последнего батона separator
|
// TODO: впилить для первого и последнего батона separator
|
||||||
if Conf.AppButtons.Enabled {
|
if Conf.AppButtons.Enabled {
|
||||||
for num, app := range Conf.Apps {
|
for num, app := range Conf.Apps {
|
||||||
var b lib.I3BarOutBlock
|
|
||||||
|
|
||||||
if num == 0 {
|
|
||||||
b.FullText = fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.AppButtons.Separator.Left.Color,
|
|
||||||
Conf.AppButtons.Separator.Left.Background,
|
|
||||||
Conf.AppButtons.Separator.Left.Font,
|
|
||||||
Conf.AppButtons.Separator.Left.FontSize,
|
|
||||||
Conf.AppButtons.Separator.Left.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.FullText = app.FullText
|
|
||||||
|
|
||||||
if num == len(Conf.Apps) {
|
|
||||||
b.FullText = fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.AppButtons.Separator.Right.Color,
|
|
||||||
Conf.AppButtons.Separator.Right.Background,
|
|
||||||
Conf.AppButtons.Separator.Right.Font,
|
|
||||||
Conf.AppButtons.Separator.Right.FontSize,
|
|
||||||
Conf.AppButtons.Separator.Right.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.Background = app.Background
|
|
||||||
b.Color = app.Color
|
|
||||||
b.Instance = app.Instance
|
|
||||||
b.Markup = `pango`
|
|
||||||
b.Separator = app.Separator
|
|
||||||
b.SeparatorBlockWidth = app.SeparatorBlockWidth
|
|
||||||
b.Name = app.Name
|
|
||||||
|
|
||||||
if lib.HasWindows(app.Class, app.Instance) {
|
|
||||||
b.Border = app.BorderActive
|
|
||||||
} else {
|
|
||||||
b.Border = app.Border
|
|
||||||
}
|
|
||||||
|
|
||||||
b.BorderTop = 1
|
|
||||||
b.BorderRight = 1
|
|
||||||
b.BorderBottom = 1
|
|
||||||
b.BorderLeft = 1
|
|
||||||
|
|
||||||
j = append(j, b)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if Conf.CPUTemp.Enabled {
|
|
||||||
var b lib.I3BarOutBlock
|
var b lib.I3BarOutBlock
|
||||||
|
|
||||||
b.Color = Conf.CPUTemp.Color
|
if num == 0 {
|
||||||
b.Background = Conf.CPUTemp.Background
|
|
||||||
|
|
||||||
if Conf.CPUTemp.Separator.Left.Enabled {
|
|
||||||
b.FullText = fmt.Sprintf(
|
b.FullText = fmt.Sprintf(
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
Conf.CPUTemp.Separator.Left.Color,
|
Conf.AppButtons.Separator.Left.Color,
|
||||||
Conf.CPUTemp.Separator.Left.Background,
|
Conf.AppButtons.Separator.Left.Background,
|
||||||
Conf.CPUTemp.Separator.Left.Font,
|
Conf.AppButtons.Separator.Left.Font,
|
||||||
Conf.CPUTemp.Separator.Left.FontSize,
|
Conf.AppButtons.Separator.Left.FontSize,
|
||||||
Conf.CPUTemp.Separator.Left.Symbol,
|
Conf.AppButtons.Separator.Left.Symbol,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
b.FullText += fmt.Sprintf(
|
b.FullText = app.FullText
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>CPU: %d°</span>",
|
|
||||||
Conf.CPUTemp.Color,
|
|
||||||
Conf.CPUTemp.Background,
|
|
||||||
Conf.CPUTemp.Font,
|
|
||||||
Conf.CPUTemp.FontSize,
|
|
||||||
Conf.Values.CPUTemperature,
|
|
||||||
)
|
|
||||||
|
|
||||||
if Conf.CPUTemp.Separator.Right.Enabled {
|
if num == len(Conf.Apps) {
|
||||||
b.FullText += fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.CPUTemp.Separator.Right.Color,
|
|
||||||
Conf.CPUTemp.Separator.Right.Background,
|
|
||||||
Conf.CPUTemp.Separator.Right.Font,
|
|
||||||
Conf.CPUTemp.Separator.Right.FontSize,
|
|
||||||
Conf.CPUTemp.Separator.Right.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.Markup = "pango"
|
|
||||||
b.Separator = false
|
|
||||||
|
|
||||||
j = append(j, b)
|
|
||||||
}
|
|
||||||
|
|
||||||
if Conf.Mem.Enabled {
|
|
||||||
var b lib.I3BarOutBlock
|
|
||||||
|
|
||||||
b.Color = Conf.Mem.Color
|
|
||||||
b.Background = Conf.Mem.Background
|
|
||||||
|
|
||||||
if Conf.Mem.Separator.Left.Enabled {
|
|
||||||
b.FullText = fmt.Sprintf(
|
b.FullText = fmt.Sprintf(
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
Conf.Mem.Separator.Left.Color,
|
Conf.AppButtons.Separator.Right.Color,
|
||||||
Conf.Mem.Separator.Left.Background,
|
Conf.AppButtons.Separator.Right.Background,
|
||||||
Conf.Mem.Separator.Left.Font,
|
Conf.AppButtons.Separator.Right.Font,
|
||||||
Conf.Mem.Separator.Left.FontSize,
|
Conf.AppButtons.Separator.Right.FontSize,
|
||||||
Conf.Mem.Separator.Left.Symbol,
|
Conf.AppButtons.Separator.Right.Symbol,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if Conf.Mem.ShowSwap {
|
b.Background = app.Background
|
||||||
b.FullText += fmt.Sprintf(
|
b.Color = app.Color
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>M:%d%% SHM:%dM SW:%dM</span>",
|
b.Instance = app.Instance
|
||||||
Conf.Mem.Color,
|
b.Markup = `pango`
|
||||||
Conf.Mem.Background,
|
b.Separator = app.Separator
|
||||||
Conf.Mem.Font,
|
b.SeparatorBlockWidth = app.SeparatorBlockWidth
|
||||||
Conf.Mem.FontSize,
|
b.Name = app.Name
|
||||||
Conf.Values.Memory.Usedpct,
|
|
||||||
Conf.Values.Memory.Shared,
|
if lib.HasWindows(app.Class, app.Instance) {
|
||||||
Conf.Values.Memory.Swap,
|
b.Border = app.BorderActive
|
||||||
)
|
|
||||||
} else {
|
} else {
|
||||||
b.FullText += fmt.Sprintf(
|
b.Border = app.Border
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>M:%d%% SHM:%dM</span>",
|
|
||||||
Conf.Mem.Color,
|
|
||||||
Conf.Mem.Background,
|
|
||||||
Conf.Mem.Font,
|
|
||||||
Conf.Mem.FontSize,
|
|
||||||
Conf.Values.Memory.Usedpct,
|
|
||||||
Conf.Values.Memory.Shared,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if Conf.Mem.Separator.Right.Enabled {
|
b.BorderTop = 1
|
||||||
b.FullText += fmt.Sprintf(
|
b.BorderRight = 1
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
b.BorderBottom = 1
|
||||||
Conf.Mem.Separator.Right.Color,
|
b.BorderLeft = 1
|
||||||
Conf.Mem.Separator.Right.Background,
|
|
||||||
Conf.Mem.Separator.Right.Font,
|
|
||||||
Conf.Mem.Separator.Right.FontSize,
|
|
||||||
Conf.Mem.Separator.Right.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.Markup = "pango"
|
|
||||||
b.Separator = false
|
|
||||||
|
|
||||||
j = append(j, b)
|
j = append(j, b)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if Conf.LA.Enabled {
|
if Conf.CPUTemp.Enabled {
|
||||||
var b lib.I3BarOutBlock
|
var b lib.I3BarOutBlock
|
||||||
|
|
||||||
b.Color = Conf.LA.Color
|
b.Color = Conf.CPUTemp.Color
|
||||||
b.Background = Conf.LA.Background
|
b.Background = Conf.CPUTemp.Background
|
||||||
|
|
||||||
if Conf.LA.Separator.Left.Enabled {
|
if Conf.CPUTemp.Separator.Left.Enabled {
|
||||||
b.FullText = fmt.Sprintf(
|
b.FullText = fmt.Sprintf(
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
Conf.LA.Separator.Left.Color,
|
Conf.CPUTemp.Separator.Left.Color,
|
||||||
Conf.LA.Separator.Left.Background,
|
Conf.CPUTemp.Separator.Left.Background,
|
||||||
Conf.LA.Separator.Left.Font,
|
Conf.CPUTemp.Separator.Left.Font,
|
||||||
Conf.LA.Separator.Left.FontSize,
|
Conf.CPUTemp.Separator.Left.FontSize,
|
||||||
Conf.LA.Separator.Left.Symbol,
|
Conf.CPUTemp.Separator.Left.Symbol,
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.FullText += fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>LA:%s</span>",
|
|
||||||
Conf.LA.Color,
|
|
||||||
Conf.LA.Background,
|
|
||||||
Conf.LA.Font,
|
|
||||||
Conf.LA.FontSize,
|
|
||||||
Conf.Values.La,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if Conf.LA.Separator.Right.Enabled {
|
|
||||||
b.FullText += fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.LA.Separator.Right.Color,
|
|
||||||
Conf.LA.Separator.Right.Background,
|
|
||||||
Conf.LA.Separator.Right.Font,
|
|
||||||
Conf.LA.Separator.Right.FontSize,
|
|
||||||
Conf.LA.Separator.Right.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.Markup = "pango"
|
|
||||||
b.Separator = false
|
|
||||||
|
|
||||||
j = append(j, b)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if Conf.NetIf.Enabled {
|
b.FullText += fmt.Sprintf(
|
||||||
var b lib.I3BarOutBlock
|
"<span color='%s' background='%s' font='%s' size='%s'>CPU: %d°</span>",
|
||||||
|
Conf.CPUTemp.Color,
|
||||||
b.Color = Conf.NetIf.Color
|
Conf.CPUTemp.Background,
|
||||||
b.Background = Conf.NetIf.Background
|
Conf.CPUTemp.Font,
|
||||||
|
Conf.CPUTemp.FontSize,
|
||||||
if Conf.NetIf.Separator.Left.Enabled {
|
Conf.Values.CPUTemperature,
|
||||||
b.FullText = fmt.Sprintf(
|
)
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.NetIf.Separator.Left.Color,
|
|
||||||
Conf.NetIf.Separator.Left.Background,
|
|
||||||
Conf.NetIf.Separator.Left.Font,
|
|
||||||
Conf.NetIf.Separator.Left.FontSize,
|
|
||||||
Conf.NetIf.Separator.Left.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.FullText += fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size= '%s'>%s</span>",
|
|
||||||
Conf.NetIf.Color,
|
|
||||||
Conf.NetIf.Background,
|
|
||||||
Conf.NetIf.Font,
|
|
||||||
Conf.NetIf.FontSize,
|
|
||||||
Conf.Values.IfStatus,
|
|
||||||
)
|
|
||||||
|
|
||||||
if Conf.NetIf.Separator.Right.Enabled {
|
|
||||||
b.FullText += fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.NetIf.Separator.Right.Color,
|
|
||||||
Conf.NetIf.Separator.Right.Background,
|
|
||||||
Conf.NetIf.Separator.Right.Font,
|
|
||||||
Conf.NetIf.Separator.Right.FontSize,
|
|
||||||
Conf.NetIf.Separator.Right.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.Markup = "pango"
|
|
||||||
b.Separator = false
|
|
||||||
|
|
||||||
j = append(j, b)
|
|
||||||
}
|
|
||||||
|
|
||||||
if Conf.Vpn.Enabled {
|
|
||||||
var b lib.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' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.Vpn.Separator.Left.Color,
|
|
||||||
Conf.Vpn.Separator.Left.Background,
|
|
||||||
Conf.Vpn.Separator.Left.Font,
|
|
||||||
Conf.Vpn.Separator.Left.FontSize,
|
|
||||||
Conf.Vpn.Separator.Left.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if Conf.CPUTemp.Separator.Right.Enabled {
|
||||||
b.FullText += fmt.Sprintf(
|
b.FullText += fmt.Sprintf(
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
Conf.Vpn.Color,
|
Conf.CPUTemp.Separator.Right.Color,
|
||||||
Conf.Vpn.Background,
|
Conf.CPUTemp.Separator.Right.Background,
|
||||||
Conf.Vpn.Font,
|
Conf.CPUTemp.Separator.Right.Font,
|
||||||
Conf.Vpn.FontSize,
|
Conf.CPUTemp.Separator.Right.FontSize,
|
||||||
Conf.Values.VPNStatus,
|
Conf.CPUTemp.Separator.Right.Symbol,
|
||||||
)
|
)
|
||||||
|
|
||||||
if Conf.Vpn.Separator.Right.Enabled {
|
|
||||||
b.FullText += fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.Vpn.Separator.Right.Color,
|
|
||||||
Conf.Vpn.Separator.Right.Background,
|
|
||||||
Conf.Vpn.Separator.Right.Font,
|
|
||||||
Conf.Vpn.Separator.Right.FontSize,
|
|
||||||
Conf.Vpn.Separator.Right.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.Markup = "pango"
|
|
||||||
b.Separator = false
|
|
||||||
|
|
||||||
j = append(j, b)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if Conf.Battery.Enabled {
|
b.Markup = "pango"
|
||||||
var b lib.I3BarOutBlock
|
b.Separator = false
|
||||||
|
|
||||||
b.Color = Conf.Battery.Color
|
j = append(j, b)
|
||||||
b.Background = Conf.Battery.Background
|
}
|
||||||
|
|
||||||
if Conf.Battery.Separator.Left.Enabled {
|
if Conf.Mem.Enabled {
|
||||||
b.FullText = fmt.Sprintf(
|
var b lib.I3BarOutBlock
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.Battery.Separator.Left.Color,
|
|
||||||
Conf.Battery.Separator.Left.Background,
|
|
||||||
Conf.Battery.Separator.Left.Font,
|
|
||||||
Conf.Battery.Separator.Left.FontSize,
|
|
||||||
Conf.Battery.Separator.Left.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.FullText += Conf.Values.BatteryString
|
b.Color = Conf.Mem.Color
|
||||||
|
b.Background = Conf.Mem.Background
|
||||||
|
|
||||||
if Conf.Battery.Separator.Right.Enabled {
|
if Conf.Mem.Separator.Left.Enabled {
|
||||||
b.FullText += fmt.Sprintf(
|
b.FullText = fmt.Sprintf(
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
Conf.Battery.Separator.Right.Color,
|
Conf.Mem.Separator.Left.Color,
|
||||||
Conf.Battery.Separator.Right.Background,
|
Conf.Mem.Separator.Left.Background,
|
||||||
Conf.Battery.Separator.Right.Font,
|
Conf.Mem.Separator.Left.Font,
|
||||||
Conf.Battery.Separator.Right.FontSize,
|
Conf.Mem.Separator.Left.FontSize,
|
||||||
Conf.Battery.Separator.Right.Symbol,
|
Conf.Mem.Separator.Left.Symbol,
|
||||||
)
|
)
|
||||||
}
|
|
||||||
|
|
||||||
b.Markup = "pango"
|
|
||||||
b.Separator = false
|
|
||||||
|
|
||||||
j = append(j, b)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if Conf.SimpleVolumePa.Enabled {
|
if Conf.Mem.ShowSwap {
|
||||||
var b lib.I3BarOutBlock
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>M:%d%% SHM:%dM SW:%dM</span>",
|
||||||
b.Name = "simple-volume-pa"
|
Conf.Mem.Color,
|
||||||
b.Color = Conf.SimpleVolumePa.Color
|
Conf.Mem.Background,
|
||||||
b.Background = Conf.SimpleVolumePa.Background
|
Conf.Mem.Font,
|
||||||
|
Conf.Mem.FontSize,
|
||||||
if Conf.SimpleVolumePa.Separator.Left.Enabled {
|
Conf.Values.Memory.Usedpct,
|
||||||
b.FullText = fmt.Sprintf(
|
Conf.Values.Memory.Shared,
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
Conf.Values.Memory.Swap,
|
||||||
Conf.SimpleVolumePa.Separator.Left.Color,
|
)
|
||||||
Conf.SimpleVolumePa.Separator.Left.Background,
|
} else {
|
||||||
Conf.SimpleVolumePa.Separator.Left.Font,
|
b.FullText += fmt.Sprintf(
|
||||||
Conf.SimpleVolumePa.Separator.Left.FontSize,
|
"<span color='%s' background='%s' font='%s' size='%s'>M:%d%% SHM:%dM</span>",
|
||||||
Conf.SimpleVolumePa.Separator.Left.Symbol,
|
Conf.Mem.Color,
|
||||||
)
|
Conf.Mem.Background,
|
||||||
}
|
Conf.Mem.Font,
|
||||||
|
Conf.Mem.FontSize,
|
||||||
// Pango format is already applied in plugin src.
|
Conf.Values.Memory.Usedpct,
|
||||||
b.FullText += Conf.Values.SoundVolume
|
Conf.Values.Memory.Shared,
|
||||||
|
)
|
||||||
if Conf.SimpleVolumePa.Separator.Right.Enabled {
|
|
||||||
b.FullText += fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.SimpleVolumePa.Separator.Right.Color,
|
|
||||||
Conf.SimpleVolumePa.Separator.Right.Background,
|
|
||||||
Conf.SimpleVolumePa.Separator.Right.Font,
|
|
||||||
Conf.SimpleVolumePa.Separator.Right.FontSize,
|
|
||||||
Conf.SimpleVolumePa.Separator.Right.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.Markup = "pango"
|
|
||||||
b.Separator = false
|
|
||||||
|
|
||||||
j = append(j, b)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if Conf.Clock.Enabled {
|
if Conf.Mem.Separator.Right.Enabled {
|
||||||
var b lib.I3BarOutBlock
|
|
||||||
|
|
||||||
b.Name = `wallclock`
|
|
||||||
b.Color = Conf.Clock.Color
|
|
||||||
b.Background = Conf.Clock.Background
|
|
||||||
|
|
||||||
if Conf.Clock.Separator.Left.Enabled {
|
|
||||||
b.FullText = fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.Clock.Separator.Left.Color,
|
|
||||||
Conf.Clock.Separator.Left.Background,
|
|
||||||
Conf.Clock.Separator.Left.Font,
|
|
||||||
Conf.Clock.Separator.Left.FontSize,
|
|
||||||
Conf.Clock.Separator.Left.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.FullText += fmt.Sprintf(
|
b.FullText += fmt.Sprintf(
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
Conf.Clock.Color,
|
Conf.Mem.Separator.Right.Color,
|
||||||
Conf.Clock.Background,
|
Conf.Mem.Separator.Right.Background,
|
||||||
Conf.Clock.Font,
|
Conf.Mem.Separator.Right.Font,
|
||||||
Conf.Clock.FontSize,
|
Conf.Mem.Separator.Right.FontSize,
|
||||||
Conf.Values.ClockTime,
|
Conf.Mem.Separator.Right.Symbol,
|
||||||
)
|
)
|
||||||
|
|
||||||
if Conf.Clock.Separator.Right.Enabled {
|
|
||||||
b.FullText += fmt.Sprintf(
|
|
||||||
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
|
||||||
Conf.Clock.Separator.Right.Color,
|
|
||||||
Conf.Clock.Separator.Right.Background,
|
|
||||||
Conf.Clock.Separator.Right.Font,
|
|
||||||
Conf.Clock.Separator.Right.FontSize,
|
|
||||||
Conf.Clock.Separator.Right.Symbol,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.Markup = "pango"
|
|
||||||
b.Separator = false
|
|
||||||
|
|
||||||
j = append(j, b)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if Conf.Values.PrintOutput && len(j) > 0 {
|
b.Markup = "pango"
|
||||||
Conf.Channels.MsgChan <- j
|
b.Separator = false
|
||||||
|
|
||||||
|
j = append(j, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
if Conf.LA.Enabled {
|
||||||
|
var b lib.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' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.LA.Separator.Left.Color,
|
||||||
|
Conf.LA.Separator.Left.Background,
|
||||||
|
Conf.LA.Separator.Left.Font,
|
||||||
|
Conf.LA.Separator.Left.FontSize,
|
||||||
|
Conf.LA.Separator.Left.Symbol,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>LA:%s</span>",
|
||||||
|
Conf.LA.Color,
|
||||||
|
Conf.LA.Background,
|
||||||
|
Conf.LA.Font,
|
||||||
|
Conf.LA.FontSize,
|
||||||
|
Conf.Values.La,
|
||||||
|
)
|
||||||
|
|
||||||
|
if Conf.LA.Separator.Right.Enabled {
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.LA.Separator.Right.Color,
|
||||||
|
Conf.LA.Separator.Right.Background,
|
||||||
|
Conf.LA.Separator.Right.Font,
|
||||||
|
Conf.LA.Separator.Right.FontSize,
|
||||||
|
Conf.LA.Separator.Right.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.Markup = "pango"
|
||||||
|
b.Separator = false
|
||||||
|
|
||||||
|
j = append(j, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
if Conf.NetIf.Enabled {
|
||||||
|
var b lib.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' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.NetIf.Separator.Left.Color,
|
||||||
|
Conf.NetIf.Separator.Left.Background,
|
||||||
|
Conf.NetIf.Separator.Left.Font,
|
||||||
|
Conf.NetIf.Separator.Left.FontSize,
|
||||||
|
Conf.NetIf.Separator.Left.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size= '%s'>%s</span>",
|
||||||
|
Conf.NetIf.Color,
|
||||||
|
Conf.NetIf.Background,
|
||||||
|
Conf.NetIf.Font,
|
||||||
|
Conf.NetIf.FontSize,
|
||||||
|
Conf.Values.IfStatus,
|
||||||
|
)
|
||||||
|
|
||||||
|
if Conf.NetIf.Separator.Right.Enabled {
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.NetIf.Separator.Right.Color,
|
||||||
|
Conf.NetIf.Separator.Right.Background,
|
||||||
|
Conf.NetIf.Separator.Right.Font,
|
||||||
|
Conf.NetIf.Separator.Right.FontSize,
|
||||||
|
Conf.NetIf.Separator.Right.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.Markup = "pango"
|
||||||
|
b.Separator = false
|
||||||
|
|
||||||
|
j = append(j, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
if Conf.Vpn.Enabled {
|
||||||
|
var b lib.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' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.Vpn.Separator.Left.Color,
|
||||||
|
Conf.Vpn.Separator.Left.Background,
|
||||||
|
Conf.Vpn.Separator.Left.Font,
|
||||||
|
Conf.Vpn.Separator.Left.FontSize,
|
||||||
|
Conf.Vpn.Separator.Left.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.Vpn.Color,
|
||||||
|
Conf.Vpn.Background,
|
||||||
|
Conf.Vpn.Font,
|
||||||
|
Conf.Vpn.FontSize,
|
||||||
|
Conf.Values.VPNStatus,
|
||||||
|
)
|
||||||
|
|
||||||
|
if Conf.Vpn.Separator.Right.Enabled {
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.Vpn.Separator.Right.Color,
|
||||||
|
Conf.Vpn.Separator.Right.Background,
|
||||||
|
Conf.Vpn.Separator.Right.Font,
|
||||||
|
Conf.Vpn.Separator.Right.FontSize,
|
||||||
|
Conf.Vpn.Separator.Right.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.Markup = "pango"
|
||||||
|
b.Separator = false
|
||||||
|
|
||||||
|
j = append(j, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
if Conf.Battery.Enabled {
|
||||||
|
var b lib.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' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.Battery.Separator.Left.Color,
|
||||||
|
Conf.Battery.Separator.Left.Background,
|
||||||
|
Conf.Battery.Separator.Left.Font,
|
||||||
|
Conf.Battery.Separator.Left.FontSize,
|
||||||
|
Conf.Battery.Separator.Left.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.FullText += Conf.Values.BatteryString
|
||||||
|
|
||||||
|
if Conf.Battery.Separator.Right.Enabled {
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.Battery.Separator.Right.Color,
|
||||||
|
Conf.Battery.Separator.Right.Background,
|
||||||
|
Conf.Battery.Separator.Right.Font,
|
||||||
|
Conf.Battery.Separator.Right.FontSize,
|
||||||
|
Conf.Battery.Separator.Right.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.Markup = "pango"
|
||||||
|
b.Separator = false
|
||||||
|
|
||||||
|
j = append(j, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
if Conf.SimpleVolumePa.Enabled {
|
||||||
|
var b lib.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(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.SimpleVolumePa.Separator.Left.Color,
|
||||||
|
Conf.SimpleVolumePa.Separator.Left.Background,
|
||||||
|
Conf.SimpleVolumePa.Separator.Left.Font,
|
||||||
|
Conf.SimpleVolumePa.Separator.Left.FontSize,
|
||||||
|
Conf.SimpleVolumePa.Separator.Left.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pango format is already applied in plugin src.
|
||||||
|
b.FullText += Conf.Values.SoundVolume
|
||||||
|
|
||||||
|
if Conf.SimpleVolumePa.Separator.Right.Enabled {
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.SimpleVolumePa.Separator.Right.Color,
|
||||||
|
Conf.SimpleVolumePa.Separator.Right.Background,
|
||||||
|
Conf.SimpleVolumePa.Separator.Right.Font,
|
||||||
|
Conf.SimpleVolumePa.Separator.Right.FontSize,
|
||||||
|
Conf.SimpleVolumePa.Separator.Right.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.Markup = "pango"
|
||||||
|
b.Separator = false
|
||||||
|
|
||||||
|
j = append(j, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
if Conf.Clock.Enabled {
|
||||||
|
var b lib.I3BarOutBlock
|
||||||
|
|
||||||
|
b.Name = `wallclock`
|
||||||
|
b.Color = Conf.Clock.Color
|
||||||
|
b.Background = Conf.Clock.Background
|
||||||
|
|
||||||
|
if Conf.Clock.Separator.Left.Enabled {
|
||||||
|
b.FullText = fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.Clock.Separator.Left.Color,
|
||||||
|
Conf.Clock.Separator.Left.Background,
|
||||||
|
Conf.Clock.Separator.Left.Font,
|
||||||
|
Conf.Clock.Separator.Left.FontSize,
|
||||||
|
Conf.Clock.Separator.Left.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.Clock.Color,
|
||||||
|
Conf.Clock.Background,
|
||||||
|
Conf.Clock.Font,
|
||||||
|
Conf.Clock.FontSize,
|
||||||
|
Conf.Values.ClockTime,
|
||||||
|
)
|
||||||
|
|
||||||
|
if Conf.Clock.Separator.Right.Enabled {
|
||||||
|
b.FullText += fmt.Sprintf(
|
||||||
|
"<span color='%s' background='%s' font='%s' size='%s'>%s</span>",
|
||||||
|
Conf.Clock.Separator.Right.Color,
|
||||||
|
Conf.Clock.Separator.Right.Background,
|
||||||
|
Conf.Clock.Separator.Right.Font,
|
||||||
|
Conf.Clock.Separator.Right.FontSize,
|
||||||
|
Conf.Clock.Separator.Right.Symbol,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.Markup = "pango"
|
||||||
|
b.Separator = false
|
||||||
|
|
||||||
|
j = append(j, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
if Conf.Values.PrintOutput && len(j) > 0 {
|
||||||
|
Conf.Channels.MsgChan <- j
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,11 +16,10 @@ func (c *MyConfig) UpdateBatteryInfo() {
|
|||||||
Batts string
|
Batts string
|
||||||
InitialDelay = 100 * time.Millisecond
|
InitialDelay = 100 * time.Millisecond
|
||||||
LoopIterationDelay = 5 * time.Second
|
LoopIterationDelay = 5 * time.Second
|
||||||
|
Delay = InitialDelay
|
||||||
|
ticker = time.NewTicker(Delay)
|
||||||
)
|
)
|
||||||
|
|
||||||
Delay := InitialDelay
|
|
||||||
ticker := time.NewTicker(Delay)
|
|
||||||
|
|
||||||
for range ticker.C {
|
for range ticker.C {
|
||||||
if Delay == InitialDelay {
|
if Delay == InitialDelay {
|
||||||
Delay = LoopIterationDelay
|
Delay = LoopIterationDelay
|
||||||
@@ -170,7 +169,5 @@ func (c *MyConfig) UpdateBatteryInfo() {
|
|||||||
c.Values.BatteryString = Batts
|
c.Values.BatteryString = Batts
|
||||||
c.Channels.UpdateReady <- true
|
c.Channels.UpdateReady <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(5 * time.Second)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,19 @@ import (
|
|||||||
|
|
||||||
// UpdateClock get and updates (on i3bar) info about system clock.
|
// UpdateClock get and updates (on i3bar) info about system clock.
|
||||||
func (c *MyConfig) UpdateClock() {
|
func (c *MyConfig) UpdateClock() {
|
||||||
for {
|
var (
|
||||||
|
InitialDelay = 100 * time.Millisecond
|
||||||
|
LoopIterationDelay = 1 * time.Second
|
||||||
|
Delay = InitialDelay
|
||||||
|
ticker = time.NewTicker(Delay)
|
||||||
|
)
|
||||||
|
|
||||||
|
for range ticker.C {
|
||||||
|
if Delay == InitialDelay {
|
||||||
|
Delay = LoopIterationDelay
|
||||||
|
ticker.Reset(Delay)
|
||||||
|
}
|
||||||
|
|
||||||
currentTime := time.Now()
|
currentTime := time.Now()
|
||||||
hours, minutes, _ := currentTime.Clock()
|
hours, minutes, _ := currentTime.Clock()
|
||||||
year, month, day := currentTime.Date()
|
year, month, day := currentTime.Date()
|
||||||
@@ -21,7 +33,5 @@ func (c *MyConfig) UpdateClock() {
|
|||||||
c.Values.ClockTime = myclock
|
c.Values.ClockTime = myclock
|
||||||
c.Channels.UpdateReady <- true
|
c.Channels.UpdateReady <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(1 * time.Second)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,15 +10,26 @@ import (
|
|||||||
|
|
||||||
// UpdateCPUTemperature gets and updates average CPU cores temperature.
|
// UpdateCPUTemperature gets and updates average CPU cores temperature.
|
||||||
func (c *MyConfig) UpdateCPUTemperature() {
|
func (c *MyConfig) UpdateCPUTemperature() {
|
||||||
n := len(c.CPUTemp.File)
|
var (
|
||||||
|
n = len(c.CPUTemp.File)
|
||||||
|
InitialDelay = 100 * time.Millisecond
|
||||||
|
LoopIterationDelay = 3 * time.Second
|
||||||
|
Delay = InitialDelay
|
||||||
|
ticker = time.NewTicker(Delay)
|
||||||
|
)
|
||||||
|
|
||||||
for {
|
for range ticker.C {
|
||||||
var (
|
var (
|
||||||
temperature = make([]int64, n)
|
temperature = make([]int64, n)
|
||||||
tSum int64
|
tSum int64
|
||||||
tAvg int64
|
tAvg int64
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if Delay == InitialDelay {
|
||||||
|
Delay = LoopIterationDelay
|
||||||
|
ticker.Reset(Delay)
|
||||||
|
}
|
||||||
|
|
||||||
for i, filename := range c.CPUTemp.File {
|
for i, filename := range c.CPUTemp.File {
|
||||||
file, err := os.Open(filename)
|
file, err := os.Open(filename)
|
||||||
|
|
||||||
@@ -71,7 +82,5 @@ func (c *MyConfig) UpdateCPUTemperature() {
|
|||||||
c.Values.CPUTemperature = tAvg
|
c.Values.CPUTemperature = tAvg
|
||||||
c.Channels.UpdateReady <- true
|
c.Channels.UpdateReady <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(3 * time.Second)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,19 @@ import (
|
|||||||
|
|
||||||
// UpdateIfStatus updates network interfaces status for i3bar.
|
// UpdateIfStatus updates network interfaces status for i3bar.
|
||||||
func (c *MyConfig) UpdateIfStatus() {
|
func (c *MyConfig) UpdateIfStatus() {
|
||||||
for {
|
var (
|
||||||
|
InitialDelay = 100 * time.Millisecond
|
||||||
|
LoopIterationDelay = 3 * time.Second
|
||||||
|
Delay = InitialDelay
|
||||||
|
ticker = time.NewTicker(Delay)
|
||||||
|
)
|
||||||
|
|
||||||
|
for range ticker.C {
|
||||||
|
if Delay == InitialDelay {
|
||||||
|
Delay = LoopIterationDelay
|
||||||
|
ticker.Reset(Delay)
|
||||||
|
}
|
||||||
|
|
||||||
var statusSum string
|
var statusSum string
|
||||||
|
|
||||||
for _, item := range c.NetIf.If {
|
for _, item := range c.NetIf.If {
|
||||||
@@ -53,7 +65,5 @@ func (c *MyConfig) UpdateIfStatus() {
|
|||||||
c.Values.IfStatus = statusSum
|
c.Values.IfStatus = statusSum
|
||||||
c.Channels.UpdateReady <- true
|
c.Channels.UpdateReady <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(3 * time.Second)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,19 @@ import (
|
|||||||
|
|
||||||
// UpdateLaStats вытаскивает показание LA за последнюю минуту.
|
// UpdateLaStats вытаскивает показание LA за последнюю минуту.
|
||||||
func (c *MyConfig) UpdateLaStats() {
|
func (c *MyConfig) UpdateLaStats() {
|
||||||
for {
|
var (
|
||||||
|
InitialDelay = 100 * time.Millisecond
|
||||||
|
LoopIterationDelay = 3 * time.Second
|
||||||
|
Delay = InitialDelay
|
||||||
|
ticker = time.NewTicker(Delay)
|
||||||
|
)
|
||||||
|
|
||||||
|
for range ticker.C {
|
||||||
|
if Delay == InitialDelay {
|
||||||
|
Delay = LoopIterationDelay
|
||||||
|
ticker.Reset(Delay)
|
||||||
|
}
|
||||||
|
|
||||||
l, _ := load.Avg()
|
l, _ := load.Avg()
|
||||||
|
|
||||||
lav := fmt.Sprintf("%.2f", l.Load1)
|
lav := fmt.Sprintf("%.2f", l.Load1)
|
||||||
@@ -18,7 +30,5 @@ func (c *MyConfig) UpdateLaStats() {
|
|||||||
c.Values.La = lav
|
c.Values.La = lav
|
||||||
c.Channels.UpdateReady <- true
|
c.Channels.UpdateReady <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(3 * time.Second)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,19 @@ type Mem struct {
|
|||||||
|
|
||||||
// UpdateMemStats parses mem info stats.
|
// UpdateMemStats parses mem info stats.
|
||||||
func (c *MyConfig) UpdateMemStats() {
|
func (c *MyConfig) UpdateMemStats() {
|
||||||
for {
|
var (
|
||||||
|
InitialDelay = 100 * time.Millisecond
|
||||||
|
LoopIterationDelay = 3 * time.Second
|
||||||
|
Delay = InitialDelay
|
||||||
|
ticker = time.NewTicker(Delay)
|
||||||
|
)
|
||||||
|
|
||||||
|
for range ticker.C {
|
||||||
|
if Delay == InitialDelay {
|
||||||
|
Delay = LoopIterationDelay
|
||||||
|
ticker.Reset(Delay)
|
||||||
|
}
|
||||||
|
|
||||||
v, err := mem.VirtualMemory()
|
v, err := mem.VirtualMemory()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -49,7 +61,5 @@ func (c *MyConfig) UpdateMemStats() {
|
|||||||
c.Channels.UpdateReady <- true
|
c.Channels.UpdateReady <- true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(3 * time.Second)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,12 +10,21 @@ import (
|
|||||||
// UpdateVPNStatus periodically update status of openvpn daemon.
|
// UpdateVPNStatus periodically update status of openvpn daemon.
|
||||||
func (c *MyConfig) UpdateVPNStatus() {
|
func (c *MyConfig) UpdateVPNStatus() {
|
||||||
var (
|
var (
|
||||||
vpnCStatus string
|
vpnCStatus string
|
||||||
tcpCheck string
|
tcpCheck string
|
||||||
vpnCheck string
|
vpnCheck string
|
||||||
|
InitialDelay = 100 * time.Millisecond
|
||||||
|
LoopIterationDelay = 3 * time.Second
|
||||||
|
Delay = InitialDelay
|
||||||
|
ticker = time.NewTicker(Delay)
|
||||||
)
|
)
|
||||||
|
|
||||||
for {
|
for range ticker.C {
|
||||||
|
if Delay == InitialDelay {
|
||||||
|
Delay = LoopIterationDelay
|
||||||
|
ticker.Reset(Delay)
|
||||||
|
}
|
||||||
|
|
||||||
if c.VPNFileCheck() {
|
if c.VPNFileCheck() {
|
||||||
if c.Vpn.UpColor == "" {
|
if c.Vpn.UpColor == "" {
|
||||||
vpnCheck = `⍋`
|
vpnCheck = `⍋`
|
||||||
@@ -54,8 +63,6 @@ func (c *MyConfig) UpdateVPNStatus() {
|
|||||||
c.Values.VPNStatus = vpnCStatus
|
c.Values.VPNStatus = vpnCStatus
|
||||||
c.Channels.UpdateReady <- true
|
c.Channels.UpdateReady <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(3 * time.Second)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user