LTO under gcc is suboptimal due to:
1. No thin LTO
2. Basically requires gcc-ar for static library support. Nix systems
apparently don't have that.
Fixes https://github.com/scorpion-26/gBar/issues/10
Instead of always polling audio volume, gBar subscribes to events,
causing the update to only happen on demand.
Plus we can block poll updates when there is audio change through gBar,
which results in a much smoother slider.
This change reduces (at least on my end) CPU times from 4-6% per core
to 2-4% per core.
Due to the fact, that we needed to manually propagate hover events from
the slider, two hover events are sent when coming from the side of the
slider. This we need to await BOTH close events until we can call the
leave function.
This commit adds a new widget for the bar: A Microphone widget. It is
disabled by default and can can
be enabled with AudioInput: true.
Implements a flyin as well.
https://github.com/scorpion-26/gBar/issues/5 for the ping
When PA_CONTEXT_READY is called multiple times, PulseAudio::FlusLoop() would get stuck to to integer underflow.
Now there are multiple things preventing that.
Possible fix for https://github.com/scorpion-26/gBar/issues/7
There seems to be a floating point error somewhere though, since
sometimes it goes up by AudioScrollSpeed - 1 instead of
AudioScrollSpeed...
For the ping https://github.com/scorpion-26/gBar/issues/5
Scrolling the workspace widgets now scroll through the workspaces. The
exact behaviour is governed by
'WorkspaceScrollOnMonitor'(either 'm[+/-]1' or 'e[+/-]1'). The direction
can be inverted with 'WorkspaceScrollInvert'.
For the ping: https://github.com/scorpion-26/gBar/issues/5
On my system, the bluetooth widget wouldn't execute the first time the
button is clicked. This probably due to the fact I forgot a NULL at the
end of the execl call. Now I just call system and "call" it a day
This lifts the requirement of needing to disable the dependencies by
hand if you don't have them installed.
It also enables us to have a single package, that works for all.