Before this, vacant tags would show with `hide-vacant` set on initial
startup, because we receive initial tag events from River before we show
the bar. In that case, we won't call `set_visible(false)` on the
respective buttons because they're not shown yet. This registers the
output status listener after we show the bar so we won't miss any
events.
Hide hidden workspaces by default, but add an option for overriding.
While at it, move button visibility handling to Workspaces and only
handle add/removal of buttons at WorkspaceManager. This makes it
easier to keep track if sorting is needed.
Systemd provides the status of a given user and system session as a
human readable string.
Retrieve this information via RequestSystemState and guard the
retrieve of failed units depending on this request.
The functionality is extended but does not change, which means that
failed units in any granularity are displayed as before.
Update documentation in the meantime.
Signed-off-by: Steffen Kothe <steffen.kothe@skothe.net>
Split-out request of failed units from systemd into a separate member
function.
This increases the readability and extendability, but preserves the
current functionality (non-functional change).
Signed-off-by: Steffen Kothe <steffen.kothe@skothe.net>
Keeping nr_failed as member allows to split-out calculation of overall
failed units into updateData.
Signed-off-by: Steffen Kothe <steffen.kothe@skothe.net>
In some cases, the active event is arriving before the create event. We need to store the currently active address and initialize the windows accordingly
TODO:
- Sometimes the active event arrives before the create, in which case the window is not activated.
- The window title event also looks unreliable in some cases, will need to investigate