mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
This module displaysw which source is providing power (AC or battery) and for the battery displays the current charge capacity, how long it will last, and the battery state.
46 lines
750 B
Go
46 lines
750 B
Go
package power
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/olebedev/config"
|
|
"github.com/senorprogrammer/wtf/wtf"
|
|
)
|
|
|
|
// Config is a pointer to the global config object
|
|
var Config *config.Config
|
|
|
|
type Widget struct {
|
|
wtf.TextWidget
|
|
|
|
Battery *Battery
|
|
}
|
|
|
|
func NewWidget() *Widget {
|
|
widget := Widget{
|
|
TextWidget: wtf.NewTextWidget(" ⚡️ Power ", "power", false),
|
|
Battery: NewBattery(),
|
|
}
|
|
|
|
widget.View.SetWrap(true)
|
|
|
|
return &widget
|
|
}
|
|
|
|
func (widget *Widget) Refresh() {
|
|
if widget.Disabled() {
|
|
return
|
|
}
|
|
|
|
widget.UpdateRefreshedAt()
|
|
widget.Battery.Refresh()
|
|
widget.View.Clear()
|
|
|
|
str := ""
|
|
str = str + fmt.Sprintf(" %10s: %s\n", "Source", powerSource())
|
|
str = str + "\n"
|
|
str = str + widget.Battery.String()
|
|
|
|
fmt.Fprintf(widget.View, "%s", str)
|
|
}
|