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.
- Ported d-bus specific code from 'libdbus' to 'sd-bus'
- 'sd_bus' has been added to mesons dependencies. If systemd (>=221) is
not installed, we fall back to [basu](https://git.sr.ht/~emersion/basu)
v2.1
- Fixed a memory leak upon metadata change
This module now supports multiple MPRIS clients and displays the
status fo the most recently active one.
I've also removed any atempts at supporting incomplete/incorrect MPRIS
implementations. The entire update cycle is now completely event
based.
This also means that MPRIS clients must start up after yambar to be
recognized.
- The 'update_status_from_message()' function now properly parses all
changed properties, instead of only the first one.
- Implemented support for the 'Seekd' signal
- Added support for signals and therefore the ability to listen
for updates to the internal state, without having to query it
manually every update cycle
- The entire implementation recieved various changes all across the
codebase.
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
This commit adds the ability to display status information for MPRIS
compatible music players.
I've adapted most of the naming conventions (and some code) from the
MPD module.