feat: Initial commit

This commit is contained in:
ptrcnull 2021-08-12 13:04:48 +02:00
commit 19682c3cad
2 changed files with 51 additions and 0 deletions

3
go.mod Normal file
View file

@ -0,0 +1,3 @@
module git.ddd.rip/ptrcnull/bat-alert
go 1.16

48
main.go Normal file
View file

@ -0,0 +1,48 @@
package main
import (
"flag"
"log"
"os"
"os/exec"
"strconv"
"strings"
"time"
)
func notify(msg string) {
cmd := exec.Command("notify-send", "-t", "5000", "bat-alert", msg)
err := cmd.Run()
if err != nil {
log.Println(err)
}
}
var targetFlag = flag.Int("target", 15, "when to send the alert")
func main() {
flag.Parse()
sent := false
for {
capacity, err := os.ReadFile("/sys/class/power_supply/BAT0/capacity")
if err != nil {
notify("error: " + err.Error())
}
numCap, err := strconv.Atoi(strings.Trim(string(capacity), "\n"))
if err != nil {
notify("error: " + err.Error())
}
if numCap < 15 {
if !sent {
sent = true
notify("battery running low!")
}
} else {
sent = false
}
time.Sleep(time.Second * 10)
}
}