a simple but detailed weather indicator for Waybar using wttr.in.
Compile yourself using cargo build --release
, or download the precompiled binary from the releases page.
For Arch Linux, use the AUR package.
For NixOS, use the NixPkg package.
--ampm
- display time in AM/PM format--location STRING
- pass a specific location to wttr.in--main-indicator
- decide whichcurrent_conditions
key will be shown on waybar. defaults totemp_C
--date-format
- defaults to%Y-%m-%d
, formats the date next to the days. see reference--nerd
- use nerd font symbols instead of emojis--hide-conditions
- show a shorter descrpition next to each hour, like7° Mist
instead of7° Mist, Overcast 81%, Sunshine 17%, Frost 15%
--fahrenheit
- use fahrenheit instead of celsius--mph
- use mph instead of km/h for wind speed--custom-indicator STRING
- optional expression that will be shown instead of main indicator.current_conditions
andnearest_area
keys surrounded by {} can be used. For example,"{ICON} {FeelsLikeC} ({areaName})"
will be transformed to"text":"🌧️ -4 (Amsterdam)"
in the output--lang LANG
- set language (currentlyen
,de
,pl
,tr
,fr
,ru
,zh
,be
,es
,pt
,it
,ja
,uk
,sv
; submit a PR to add yours)--observation-time
- show the time the current weather conditions were measured
e.g. wttrbar --date-format "%m/%d" --location Paris --hide-conditions
To display the weather icons correctly, you will need to have a font that supports emojis installed. The screenshot uses Noto Emoji, but you can use other fonts too.
Assuming wttrbar
is in your path, it can be used like:
"custom/weather": {
"format": "{}°",
"tooltip": true,
"interval": 3600,
"exec": "wttrbar",
"return-type": "json"
},
You can also then creating custom styling based on the current condition:
#custom-weather.sunny {
background-color: yellow;
}
This code is based on my old Python gist that was used for the same purpose.