From d1ea9ec3d514c44aba64fce96f4ab2bc95f8580b Mon Sep 17 00:00:00 2001 From: Kleidi Bujari Date: Wed, 12 Aug 2026 14:52:07 -0700 Subject: [dfetch] bringup battery and brightness modules --- packages/code/dfetch/app/Dfetch/Brightness.hs | 29 +++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'packages/code/dfetch/app/Dfetch/Brightness.hs') diff --git a/packages/code/dfetch/app/Dfetch/Brightness.hs b/packages/code/dfetch/app/Dfetch/Brightness.hs index 912905a..9d7b7b9 100644 --- a/packages/code/dfetch/app/Dfetch/Brightness.hs +++ b/packages/code/dfetch/app/Dfetch/Brightness.hs @@ -1,8 +1,29 @@ -module Dfetch.Brightness where +module Dfetch.Brightness + ( Brightness(..) + , fetchBrightness + , allBs + ) where -import System.FilePath (()) -import System.Directory (listDirectory) -import Data.List (isPrefixOf) +import System.Directory (listDirectory) +import System.FilePath (()) basePath :: FilePath basePath = "/sys/class/backlight/" + +data Brightness = Brightness + { bright :: Int + , maxbright :: Int + } deriving Show + +backlights :: IO [String] +backlights = listDirectory basePath + +fetchBrightness :: String -> IO Brightness +fetchBrightness device = Brightness + <$> (read <$> readFile (path "brightness")) + <*> (read <$> readFile (path "max_brightness")) + where + path = basePath device + +allBs :: IO [Brightness] +allBs = backlights >>= mapM fetchBrightness -- cgit v1.3.1