summaryrefslogtreecommitdiff
path: root/packages/code/dfetch/app/Dfetch/Brightness.hs
diff options
context:
space:
mode:
authorKleidi Bujari <mail@4kb.net>2026-08-12 14:52:07 -0700
committerKleidi Bujari <mail@4kb.net>2026-08-17 14:15:15 -0700
commitd1ea9ec3d514c44aba64fce96f4ab2bc95f8580b (patch)
tree6bc57f196400c652c0de0ff6f99407a7491f3d50 /packages/code/dfetch/app/Dfetch/Brightness.hs
parentfdb7a7b876fc0b46ff36751642cbc05ed4140232 (diff)
downloaddepot-d1ea9ec3d514c44aba64fce96f4ab2bc95f8580b.tar.gz
depot-d1ea9ec3d514c44aba64fce96f4ab2bc95f8580b.tar.bz2
depot-d1ea9ec3d514c44aba64fce96f4ab2bc95f8580b.zip
[dfetch] bringup battery and brightness modules
Diffstat (limited to 'packages/code/dfetch/app/Dfetch/Brightness.hs')
-rw-r--r--packages/code/dfetch/app/Dfetch/Brightness.hs29
1 files changed, 25 insertions, 4 deletions
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