The niri-workspaces module would crash if niri's event stream produced
a `WorkspaceChanged` event containing a workspace with no output,
which can occur if the monitor is turned off. Update the response
parser to handle this situation.
- Addressed inconsistens variable naming and removed redundant code.
- Mutex locks are now used correctly.
- The context struct now references the modules config, making config
access less awkward
Move dependency discovery to be with other module dependency searches.
Also only define the `sdbus` dependency if the module is enabled.
The `mpris` module was always being compiled because the `sdbus`
dependency always existed. Instead, check for the external
dependency's status and create the `sdbus` bridge dependency only when
necessary.
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