When parseCpuFrequencies returns an empty vector, getCpuFrequency
would attempt to dereference an invalid iterator.
Return early from getCpuFrequency when parseCpuFrequencies returns an
empty vector.
Resolves a segfault when waybar is run within a VM on apple silicon.
1. battery.hpp - added local bool variable. Force to print warnings the
only once in order to warn user about wrong battery configuraion. And
does not bring a mess when the battery is turned off (gamepads, etc.)
2. dir_name is an object which takes a part in comparison. So converted to the string.
Reading brightness value for backlight device can fail intermittently
(particularly when using ddcci-driver-linux). Handle this more
gracefully rather than crashing
Don't set the anchor for certain edges when the width or the height
is not set to a value of 'auto' (1).
When the bar is vertical, the top and bottom edges are not anchored
otherwise the left and right edges are not anchored.
This resolves an issue wherein the width and height set for the
layer-shell were ignored because the layer was set to anchor to all
edges.
If Gtk objects get updated from other threads than the main thread GTK
can get confused. This is a regression of bcadf64031ee0520212aa8f092f5ac14122cd924.
Fixes#1464, #1474
If the modifier is pressed and release without another event, the
intended behaviour is to clear an urgency hint and hide the bar again.
Note that if multiple workspaces have the urgency hint set, the bar is
hidden again and an urgent workspace is focused, the bar does not stay
hidden anymore.
Add a second reason to show the bar besides visible by modifier.
Update the visibility based on changes in the workspace urgency.
Check all workspaces for urgency and keep the bar visible if at least
one has an urgency hint.
As we always use the enum to compare or initialize uint32_t values, it
would be better to declare it with the right type. This way we could
avoid `-Wnarrowing` warnings or unnecessary type casts.