feat(info): display WM and locale

This commit is contained in:
Artur Manuel 2025-02-04 20:07:16 +00:00
commit 0a3c3ddf14

View file

@ -45,6 +45,10 @@ getMemory meminfo
memTotal = show (parseKBFromMeminfo (head $ lines meminfo) `div` 1000) ++ "MB"
memAvail = show (parseKBFromMeminfo (head . tail . tail $ lines meminfo) `div` 1000) ++ "MB"
getWM :: Maybe String -> Maybe String -> String
getWM (Just desktop) (Just session) = desktop ++ " (" ++ session ++ ")"
getWM _ _ = "Unknown"
main :: IO ()
main = do
uptime <- readFile' "/proc/uptime"
@ -53,13 +57,18 @@ main = do
hostname <- readFile' "/proc/sys/kernel/hostname"
meminfo <- readFile' "/proc/meminfo"
username <- lookupEnv "USER"
currentDesktop <- lookupEnv "XDG_CURRENT_DESKTOP"
sessionType <- lookupEnv "XDG_SESSION_TYPE"
locale <- lookupEnv "LANG"
putStr
( unlines
[ "\x1b[1;35m █ \x1b[1;34m" ++ fromMaybe "username" username ++ "@" ++ init hostname
, "\x1b[1;35m █ \x1b[1;34m"
, "\x1b[1;35m █ \x1b[1;34m" ++ "up\t" ++ (getUptime . readUptime) uptime
, "\x1b[1;35m ███ \x1b[1;34m" ++ "krl\t" ++ getKVer version
, "\x1b[1;35m █ ██ \x1b[1;34m" ++ "os\t" ++ (findPrettyName . lines) osRelease
, "\x1b[1;35m █ ██ \x1b[1;34m" ++ "mem\t" ++ getMemory meminfo
[ "\x1b[1;35m █ \x1b[1;34m" ++ fromMaybe "username" username ++ "@" ++ init hostname
, "\x1b[1;35m █ \x1b[1;34m"
, "\x1b[1;35m █ \x1b[1;34m" ++ "up\t" ++ (getUptime . readUptime) uptime
, "\x1b[1;35m █ \x1b[1;34m" ++ "wm\t" ++ getWM currentDesktop sessionType
, "\x1b[1;35m ███ \x1b[1;34m" ++ "krl\t" ++ getKVer version
, "\x1b[1;35m █ ██ \x1b[1;34m" ++ "os\t" ++ (findPrettyName . lines) osRelease
, "\x1b[1;35m █ ██ \x1b[1;34m" ++ "lcl\t" ++ fromMaybe "??_??" locale
, "\x1b[1;35m █ ██ \x1b[1;34m" ++ "mem\t" ++ getMemory meminfo
]
)