diff options
-rw-r--r-- | changelog.md | 9 | ||||
-rw-r--r-- | readme.md | 2 | ||||
-rw-r--r-- | src/Xmobar/Plugins/Monitors/Weather.hs | 9 |
3 files changed, 15 insertions, 5 deletions
diff --git a/changelog.md b/changelog.md index c19292f..22a9b8c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,11 @@ -## Version 0.32 +## Version 0.33 + +_New features_ + + - New template parameter `<weather>` for the `Weather` plugin, potentially + displaying specific weather conditions that are occurring near the station. + +## Version 0.32 (December, 2019) _New features_ @@ -739,7 +739,7 @@ something like: - Variables that can be used with the `-t`/`--template` argument: `station`, `stationState`, `year`, `month`, `day`, `hour`, `windCardinal`, `windAzimuth`, `windMph`, `windKnots`, `windMs`, `windKmh` - `visibility`, `skyCondition`, `tempC`, `tempF`, + `visibility`, `skyCondition`, `weather`, `tempC`, `tempF`, `dewPointC`, `dewPointF`, `rh`, `pressure` - Default template: `<station>: <tempC>C, rh <rh>% (<hour>)` - Retrieves weather information from http://tgftp.nws.noaa.gov. diff --git a/src/Xmobar/Plugins/Monitors/Weather.hs b/src/Xmobar/Plugins/Monitors/Weather.hs index fb5732b..6ac1f4b 100644 --- a/src/Xmobar/Plugins/Monitors/Weather.hs +++ b/src/Xmobar/Plugins/Monitors/Weather.hs @@ -45,6 +45,7 @@ weatherConfig = mkMConfig , "visibility" , "skyCondition" , "skyConditionS" + , "weather" , "tempC" , "tempF" , "dewPointC" @@ -73,6 +74,7 @@ data WeatherInfo = , windInfo :: WindInfo , visibility :: String , skyCondition :: String + , weather :: String , tempC :: Int , tempF :: Int , dewPointC :: Int @@ -169,6 +171,7 @@ parseData = w <- pWind v <- getAfterString "Visibility: " sk <- getAfterString "Sky conditions: " + we <- getAfterString "Weather: " skipTillString "Temperature: " (tC,tF) <- pTemp skipTillString "Dew Point: " @@ -178,7 +181,7 @@ parseData = skipTillString "Pressure (altimeter): " p <- pPressure manyTill skipRestOfLine eof - return [WI st ss y m d h w v sk tC tF dC dF rh p] + return [WI st ss y m d h w v sk we tC tF dC dF rh p] defUrl :: String defUrl = "https://tgftp.nws.noaa.gov/data/observations/metar/decoded/" @@ -201,12 +204,12 @@ formatSk ((a,b):sks) sk = if a == sk then b else formatSk sks sk formatSk [] sk = sk formatWeather :: [(String,String)] -> [WeatherInfo] -> Monitor String -formatWeather sks [WI st ss y m d h (WindInfo wc wa wm wk wkh wms) v sk tC tF dC dF r p] = +formatWeather sks [WI st ss y m d h (WindInfo wc wa wm wk wkh wms) v sk we tC tF dC dF r p] = do cel <- showWithColors show tC far <- showWithColors show tF let sk' = formatSk sks (map toLower sk) parseTemplate [st, ss, y, m, d, h, wc, wa, wm, wk, wkh - , wms, v, sk, sk', cel, far + , wms, v, sk, sk', we, cel, far , show dC, show dF, show r , show p ] formatWeather _ _ = getConfigValue naString |