aboutsummaryrefslogtreecommitdiff
path: root/internal/i3status/battery.go
diff options
context:
space:
mode:
authorStefan Majewsky <majewsky@gmx.net>2020-03-28 13:53:53 +0100
committerStefan Majewsky <majewsky@gmx.net>2020-03-28 13:53:53 +0100
commit6ed52c386210e21564f9bcc3f29772fe05bf5a43 (patch)
tree07a4585c6847e4fb7771a1181aa1dac32b4d6541 /internal/i3status/battery.go
parented2b9374599cc00467b1c27121318748cc0d3f49 (diff)
downloadgofu-6ed52c386210e21564f9bcc3f29772fe05bf5a43.tar.gz
remove i3status applet
I'm now using https://github.com/greshake/i3status-rust instead.
Diffstat (limited to 'internal/i3status/battery.go')
-rw-r--r--internal/i3status/battery.go75
1 files changed, 0 insertions, 75 deletions
diff --git a/internal/i3status/battery.go b/internal/i3status/battery.go
deleted file mode 100644
index e41f189..0000000
--- a/internal/i3status/battery.go
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
-*
-* Copyright 2017 Stefan Majewsky <majewsky@gmx.net>
-*
-* This program is free software: you can redistribute it and/or modify it under
-* the terms of the GNU General Public License as published by the Free Software
-* Foundation, either version 3 of the License, or (at your option) any later
-* version.
-*
-* This program is distributed in the hope that it will be useful, but WITHOUT ANY
-* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License along with
-* this program. If not, see <http://www.gnu.org/licenses/>.
-*
-*******************************************************************************/
-
-package i3status
-
-import (
- "fmt"
- "io/ioutil"
- "strconv"
- "strings"
-)
-
-const (
- batteryFullPath = "/sys/class/power_supply/BAT0/energy_full"
- batteryNowPath = "/sys/class/power_supply/BAT0/energy_now"
- powerOnlinePath = "/sys/class/power_supply/AC0/online"
-)
-
-func getBatteryStatus() []Block {
- //TODO: What's with /sys/class/power_supply/BAT0/uevent? Can this be used to
- //remove all the polling overhead here?
-
- energyFull, err := readNumberFromFile(batteryFullPath)
- if err != nil {
- return nil
- }
- energyNow, err := readNumberFromFile(batteryNowPath)
- if err != nil {
- return nil
- }
- powerOnline, err := readNumberFromFile(powerOnlinePath)
- if err != nil {
- return nil
- }
-
- energyPerc := energyNow * 100 / energyFull
- charging := powerOnline > 0
- color := "#AAAA00"
- if charging {
- color = "#00AA00"
- } else if energyPerc < 10 {
- color = "#AA0000"
- }
-
- return section("bat", Block{
- Name: "battery",
- Position: PositionBattery,
- FullText: fmt.Sprintf("%d%%", energyPerc),
- Urgent: energyPerc < 10 && !charging,
- Color: color,
- })
-}
-
-func readNumberFromFile(path string) (int64, error) {
- buf, err := ioutil.ReadFile(path)
- if err != nil {
- return 0, err
- }
- return strconv.ParseInt(strings.TrimSpace(string(buf)), 0, 64)
-}