import Xmobar import Config import Monitors import Music (mpris, gpmd, mpdt) topProcL p = TopProc (p <~> ["-t" , " " , "-w", "10", "-L" , "10", "-H", "80"]) 15 diskIOL p = DiskIO [("/", ""), ("/home", "")] (diskArgs p) 10 mpd = MPD [ "-W", "12", "-b", "░", "-f", "▒", "-t", " "] 10 autoMPD light = AutoMPD [ "-T", "110", "-E", "…", "-W", "10", "-t" , " " ++ mpdt light] pollMPD light = MPD [ "-T", "120", "-W", "10", "-E", "…", "-t", tm, "--", "-p", "6600"] 20 where tm = " " ++ mpdt light -- mprisName = "MellowPlayer3" mprisName = "spotifyd" musicPipe = PipeReader "/tmp/music" "musicpipe" musicMPRIS p = mpris p mprisName 180 -- music light = toggleMonitor "/tmp/mpris.st" musicPipe (pollMPD light) music p = toggleMonitor "/tmp/mpris.st" (musicMPRIS p) (pollMPD (pIsLight p)) -- 💡 config p = (baseConfig p) { position = TopSize C 100 (defaultHeight - 1) , textOffset = defaultHeight - 8 , textOffsets = [defaultHeight - 9, defaultHeight - 9, defaultHeight - 6, defaultHeight - 8, -1, defaultHeight - 8] , border = FullB , alpha = 255 , commands = [ Run (topProcL p) , Run m , Run (thinkTemp p) -- , Run (mail p) , Run (cpuBars p) , Run memory , Run (diskU p) , Run (diskIOL p) -- , Run brightness' , Run kbd , Run (miniBatt p) , Run (wireless p "wlp1s0") , Run (dynNetwork p) , Run proton0 , Run w -- LEGE, LEBL, KCV0 , Run (masterVol p) , Run captureVol -- , Run laTime , Run localTime ] , template = " " ++ "|batt0| " -- ++ "|bright| " ++ "|proton0||wlp1s0wi| " ++ "|dynnetwork| " ++ "|default:Master| \ \|default:Capture| " ++ "" ++ ma ++ "" ++ " |kbd|" ++ " {} " -- ++ "|mail|" ++ "|multicpu| " ++ "|multicoretemp| " ++ " |top| " ++ "|memory| " ++ fc "grey60" "|diskio|" ++ " |disku| " ++ " |EGPH| " ++ fni "\xf017 " ++ "|datetime| " } where m = music p ma = fc "grey40" (fni "\xf001 ") ++ "|" ++ alias m ++ "|" w = (weather' " ° " "EGPH" p) main :: IO () main = palette >>= configFromArgs . config >>= xmobar