This plugin fetches weather information in the same fashion as
Xmobar's Weather plugin. It fetches from NOAA's website (by default)
using their standard format for reporting data from weather stations
around the world.
Also enable in CI.
TODO:
Fill out the example configuration in the docfile.
Move dependency discovery to be with other module dependency searches.
Also only define the `sdbus` dependency if the module is enabled.
For some reason, `mpris.c` was attempted to be compiled even with the
option off otherwise. It is also just more consistent.
This variable is only used in assert() which expands to nothing in
release builds. Adding the unused attribute prevents the compiler from
throwing an error (-Wunused-but-set-variable) when building.
This variable is only used in LOG_DBG which expands to nothing by
default. Adding the unused attribute prevents the compiler from throwing
an error (-Wunused-but-set-variable) when building.
When switching to a node that has a missing property, yambar didn't
reset its internal state to the default value, causing outdated
information to be displayed.
Wlan interfaces apparently report themselves as ARPHRD_ETHER in their
ifinfomsg struct (despite there being a ARPHRD_IEEE80211 type...).
"Fix" by hardcoding the type to "wlan" when we receive a
NL80211_CMD_NEW_INTERFACE message.
The tag maps to the IFLA_INFO_KIND (part of the IFLA_LINKINFO)
netlink attribute.
This attribute is only available on virtual interfaces. Examples of
valid values are:
* bond
* bridge
* gre
* tun
* veth
This tag maps to the ifinfomsg->ifi_type member, which is set to one
of the ARPHRD_xyz values, defined in linux/if_arp.h.
There's a *ton* of them, and we can't possibly add a string mapping
for _all_ of them, so for now, set to one of:
* loopback
* ether
* wlan
* ARPHRD_NNN, where N is a number
When we're not able to use inotify, we rely on polling. However, we
never detected poll() timeouts, which meant we never re-attempted to
reconnect to MPD.
Maybe #394