diff options
| author | Kleidi Bujari <mail@4kb.net> | 2026-08-17 14:06:19 -0700 |
|---|---|---|
| committer | Kleidi Bujari <mail@4kb.net> | 2026-08-17 14:15:15 -0700 |
| commit | 0c08e7219a34d0efeb8a209aee544881985c7f6d (patch) | |
| tree | 75a0607f608d66a1e9325b44b93274cc0d6fceb9 /packages/code | |
| parent | d1ea9ec3d514c44aba64fce96f4ab2bc95f8580b (diff) | |
| download | depot-0c08e7219a34d0efeb8a209aee544881985c7f6d.tar.gz depot-0c08e7219a34d0efeb8a209aee544881985c7f6d.tar.bz2 depot-0c08e7219a34d0efeb8a209aee544881985c7f6d.zip | |
[dfetch] special rendering for batteries
Diffstat (limited to 'packages/code')
| -rw-r--r-- | packages/code/dfetch/app/Dfetch/Battery.hs | 20 | ||||
| -rw-r--r-- | packages/code/dfetch/app/Main.hs | 6 |
2 files changed, 23 insertions, 3 deletions
diff --git a/packages/code/dfetch/app/Dfetch/Battery.hs b/packages/code/dfetch/app/Dfetch/Battery.hs index 0315882..703e3df 100644 --- a/packages/code/dfetch/app/Dfetch/Battery.hs +++ b/packages/code/dfetch/app/Dfetch/Battery.hs @@ -1,9 +1,11 @@ module Dfetch.Battery ( Battery(..) , allBatteries + , renderBat ) where import Data.List (isPrefixOf) +import GHC.Float (double2Int) import System.Directory (listDirectory) import System.FilePath ((</>)) @@ -32,3 +34,21 @@ findBatteries = filter ("BAT" `isPrefixOf`) <$> listDirectory basePath -- | Fetch all batteries from the running system allBatteries :: IO [Battery] allBatteries = findBatteries >>= mapM getCapacity + +renderBat :: [Battery] -> String +renderBat bs = unlines $ + [ "Battery" , "======="] <> map render bs + where + totalEnergy = sum . map (energyFull) $ bs + calcEnergy = + show . double2Int . (* 100) . (/ totalEnergy) . energyFull + + render b = mconcat $ + [ "\t" + , name b + , ": " + , show (capacity b) + , "%,\t" + , calcEnergy b + , "% of total energy" + ] diff --git a/packages/code/dfetch/app/Main.hs b/packages/code/dfetch/app/Main.hs index e04ff42..83c2596 100644 --- a/packages/code/dfetch/app/Main.hs +++ b/packages/code/dfetch/app/Main.hs @@ -1,11 +1,11 @@ module Main (main) where -import Dfetch.Battery (allBatteries) +import Dfetch.Battery (renderBat, allBatteries) import Dfetch.Brightness (allBs) main :: IO () main = do - bats <- allBatteries + bats <- renderBat <$> allBatteries backlights <- allBs - print bats + putStrLn bats print backlights |
