monky-2.0.0.0: Monky/Examples/Disk.hs
{-# LANGUAGE OverloadedStrings #-}
{-|
Module : Monky.Examples.Disk
Description : An example module instance for the disk module
Maintainer : moepi
Stability : testing
Portability : Linux
-}
module Monky.Examples.Disk
( getDiskHandle
, DiskH
)
where
import Formatting
import Monky.Examples.Utility
import Monky.Modules
import Monky.Disk hiding (getDiskHandle)
import qualified Monky.Disk as D (getDiskHandle)
-- |The handle type for this module
newtype DiskH = DH DiskHandle
-- |Get a disk handle
getDiskHandle
:: String -- ^The UUID of the device to monitor. It has to be mounted at monky startup!
-> IO DiskH
getDiskHandle = fmap DH . D.getDiskHandle
{- Disk module -}
instance PollModule DiskH where
getOutput (DH dh) = do
(dr, dw) <- getDiskReadWrite dh
df <- getDiskFree dh
return
[ MonkyImage "diskette" ' '-- '🖪' also disabled for compat reasons
, MonkyPlain $ sformat (stext % " " % stext % " " % stext) (convertUnitSI df "B") (convertUnitSI dr "B" ) (convertUnitSI dw "B")
]