package main import ( "fmt" "github.com/enescakir/emoji" "github.com/xellio/tools/acpi" r "gitnet.fr/deblan/i3-blocks-go/rendering" // "net" // "os" // "regexp" // "strings" ) func main() { datas, err := acpi.Battery() if err != nil { return } // value := r.TextWithPadding(ip, r.FB{}) // // block := r.Block(fmt.Sprintf("ip_%s_%s", argIface, argVersion), r.BlockOptions{ // FullText: fmt.Sprintf("%s%s", label, value), // }) //fmt.Println(block) for _, data := range datas { status := data.Status level := data.Level if status == "Unknown" { return } if status == "Full" { return } if status == "Discharging" { fmt.Println(CreateDischargingBlock(level)) return } if status == "Charging" { fmt.Println(CreateChargingBlock(level)) return } } } func CreateChargingBlock(level int) string { value := fmt.Sprintf("%d%%", level) symbol := r.Emoji(emoji.UpArrow) options := r.NewBlockOptions() options.FullText = r.TextWithPadding(fmt.Sprintf("%s %s", value, symbol), CreateFB(level)) block := r.Block("battery", options) return block } func CreateDischargingBlock(level int) string { value := fmt.Sprintf("%d%%", level) symbol := r.Emoji(emoji.DownArrow) block := r.Block("battery", r.BlockOptions{ FullText: r.TextWithPadding(fmt.Sprintf("%s %s", value, symbol), CreateFB(level)), }) return block } func CreateFB(level int) r.FB { if level < 20 { return r.FB{ Foreground: r.Color("black1"), Background: r.Color("red"), } } if level < 50 { return r.FB{ Foreground: r.Color("white"), Background: r.Color("orange"), } } return r.FB{ Foreground: r.Color("white"), Background: r.Color("green"), } }