From a2598ee49f9b88cba137a356dc3cb0520828b4a0 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Tue, 21 Jul 2020 14:47:55 +0200 Subject: waybar: parse weather codes in the script --- .config/waybar/config | 60 ++++++++------------------------------- .config/waybar/modules/weather.sh | 24 ++++++++++++++-- 2 files changed, 33 insertions(+), 51 deletions(-) diff --git a/.config/waybar/config b/.config/waybar/config index 0edd528..27d90a6 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -152,54 +152,18 @@ "custom/weather": { "format": "{icon} {percentage}℃", "format-icons": { - "113": "󰖙", // "Sunny", - "116": "󰖕", // "PartlyCloudy", - "119": "󰖐", // "Cloudy", - "122": "󰼯", // "VeryCloudy", - "143": "󰖑", // "Fog", - "176": "󰖗", // "LightShowers", - "179": "󰖒", // "LightSleetShowers", - "182": "󰖒", // "LightSleet", - "185": "󰖒", // "LightSleet", - "200": "󰖓", // "ThunderyShowers", - "227": "󰖘", // "LightSnow", - "230": "󰼶", // "HeavySnow", - "248": "󰖑", // "Fog", - "260": "󰖑", // "Fog", - "263": "󰖗", // "LightShowers", - "266": "󰖗", // "LightRain", - "281": "󰖒", // "LightSleet", - "284": "󰖒", // "LightSleet", - "293": "󰖗", // "LightRain", - "296": "󰖗", // "LightRain", - "299": "󰖖", // "HeavyShowers", - "302": "󰖖", // "HeavyRain", - "305": "󰖖", // "HeavyShowers", - "308": "󰖖", // "HeavyRain", - "311": "󰖒", // "LightSleet", - "314": "󰖒", // "LightSleet", - "317": "󰖒", // "LightSleet", - "320": "󰖘", // "LightSnow", - "323": "󰙿", // "LightSnowShowers", - "326": "󰙿", // "LightSnowShowers", - "329": "󰼶", // "HeavySnow", - "332": "󰼶", // "HeavySnow", - "335": "󰼶", //"HeavySnowShowers", - "338": "󰼶", //"HeavySnow", - "350": "󰖒", // "LightSleet", - "353": "󰖗", // "LightShowers", - "356": "󰖖", // "HeavyShowers", - "359": "󰖖", // "HeavyRain", - "362": "󰖒", // "LightSleetShowers", - "365": "󰖒", // "LightSleetShowers", - "368": "󰙿", // "LightSnowShowers", - "371": "󰼶", // "HeavySnowShowers", - "374": "󰖒", // "LightSleetShowers", - "377": "󰖒", // "LightSleet", - "386": "󰖓", // "ThunderyShowers", - "389": "󰖓", // "ThunderyHeavyRain", - "392": "󰖓", // "ThunderySnowShowers", - "395": "󰼶", // "HeavySnowShowers", + "sunny": "󰖙", + "partlycloudy": "󰖕", + "cloudy": "󰖐", + "verycloudy": "󰼯", + "fog": "󰖑", + "lightrain": "󰖗", + "heavyrain": "󰖖", + "hail": "󰖒", + "thunder": "󰖓", + "lightsnow": "󰖘", + "heavysnow": "󰼶", + "snowrain": "󰙿", }, "exec": "$HOME/.config/waybar/modules/weather.sh Berlin", "interval": 600, diff --git a/.config/waybar/modules/weather.sh b/.config/waybar/modules/weather.sh index 9f7780d..210c20a 100755 --- a/.config/waybar/modules/weather.sh +++ b/.config/waybar/modules/weather.sh @@ -9,11 +9,29 @@ if [ -n "$REPORT" ]; then exit 0 fi -curl -s wttr.in/"${loc}"?format=j1 \ - | jq \ +data="$(curl -s wttr.in/"${loc}"?format=j1)" + +class= +case "$(echo "${data}" | jq -r '.current_condition[].weatherCode')" in +113) class="sunny" ;; +116) class="partlycloudy" ;; +119) class="cloudy" ;; +122) class="verycloudy" ;; +143|248|260) class="fog" ;; +176|263|266|293|296|353) class="lightrain" ;; +179|182|185|281|284|311|314|317|350|362|365|374|377) class="hail" ;; +200|386|389|392) class="thunder" ;; +227|320) class="lightsnow" ;; +230|329|332|335|338|371|395) class="heavysnow" ;; +299|302|305|308|356|359): class="heavyrain" ;; +323|326|368) class="snowrain" ;; +esac + +echo "${data}" | jq \ --raw-output \ --unbuffered \ --compact-output \ + --arg class "${class}" \ --arg tooltip "$(curl -s v2.wttr.in/"${loc}"?ATFQ | tail -n5)" \ - '.current_condition[] | { text: .weatherDesc[0].value, percentage: (.temp_C | tonumber), class: .weatherCode, alt: .weatherCode, tooltip: ($tooltip) }' + '.current_condition[] | { text: .weatherDesc[0].value, percentage: (.temp_C | tonumber), class: $class, alt: $class, tooltip: ($tooltip) }' -- cgit 1.4.1