import Xmobar import Config import Monitors topProcL p = TopProc (p <~> args) 15 where template = " ยท " args = ["-t", template, "-w", "12", "-L" , "10", "-H", "80"] diskIOS p = DiskIO [("/", " ")] (diskArgs p) 10 cpuFreq' p = CpuFreq (p <~> args) 50 where args = ["-t" , "" , "-L", "1", "-H", "2", "-S", "Off" , "-d", "2"] memory' = Memory args 20 where template = " " args = ["-t", template , "-p", "2", "-d", "1", "--", "--scale", "1024"] master p = Volume "default" "Master" (args ++ ("--":ext)) 10 where args = ["-t", " "] ext = ["-C", pForeground p, "-c", "sienna4", "-O", "๐ŸŽผ", "-o", "๐Ÿ”‡"] capture = Volume "default" "Capture" ["-t", ""] 10 batt0 p = BatteryN ["BAT0"] ["-t", "" , "-S", "Off", "-d", "0", "-m", "3" , "-L", "10", "-H", "90", "-p", "3" , "--low", pHigh p, "--normal", pNormal p, "--high", pLow p , "--" , "-P" , "-a", "notify-send -u critical 'Battery running out!!!!!!'" , "-A", "7" , "-i", "\9211" , "-O", "\129707 " , "-o", "๐Ÿ”‹" ++ " " , "-H", "10", "-L", "7" , "-h", pHigh p, "-l", pLow p] 50 "batt0" weath st p = WeatherX st [ ("", "๐ŸŒก") , ("clear", "๐Ÿ”†") , ("sunny", "๐Ÿ”†") , ("fair", "๐Ÿ”†") , ("mostly clear", "๐ŸŒค") , ("mostly sunny", "๐ŸŒค") , ("partly sunny", "โ›…") , ("obscured", "๐ŸŒ") -- ๐ŸŒซ , ("fog", "๐ŸŒ") -- ๐ŸŒซ , ("foggy", "๐ŸŒ") -- ๐ŸŒซ , ("cloudy", "โ˜๏ธ") , ("overcast", "โ˜๏ธ") , ("partly cloudy", "โ›…") , ("mostly cloudy", "โ˜๏ธ") , ("considerable cloudiness", "โ›ˆ") , ("light rain", "๐ŸŒง") , ("rain", "โ›†") , ("ice crystals", "โ„") , ("light snow", "๐ŸŒจ") , ("snow", "โ„") ] (mkArgs p ["-t", " ยฐ ๐ŸŒซ " , "-L", "10", "-H", "25" , "-T", "25", "-E", ".."] ["-w", ""]) 18000 config p = (baseConfig p) { position = TopSize C 100 (defaultHeight - 2) , textOutput = True , textOutputFormat = Ansi , font = "xft:DejaVu Sans Mono-8" , commands = [ Run (topProcL p) , Run (batt0 p) , Run (cpu p) , Run (cpuFreq' p) , Run memory' , Run (diskU p) , Run (diskIOS p) , Run (kbd p) , Run (coreTemp p) , Run (wireless p "wlp164s0") , Run (dynNetwork p) , Run (vpnMark "wg-mullvad") , Run tun0 , Run (master p) , Run capture , Run laTime , Run localTime , Run (weath "EGPH" p) ] , template = "|batt0| " ++ " |wg-mullvad||tun0||wlp164s0wi|" ++ " |dynnetwork| " ++ " |default:Master| ๐Ÿ—ช |default:Capture|" ++ " |EGPH|" ++ "{*}" ++ "|kbd|" ++ " |cpufreq|" ++ " |multicpu|" ++ " |multicoretemp|" ++ " |top| " ++ " โž |memory| " ++ " |diskio| ๐Ÿ–ด |disku| " -- ๐Ÿ“€ ๐Ÿ–ด ๐Ÿ–ซ ++ " |datetime| " ++ "|laTime| " } main :: IO () main = palette >>= configFromArgs . config >>= xmobar