The logic for the critical/warning handling on the battery modules was
applied BEFORE the discharging-<pct> logic. This made it possible for
those discharging states to get applied over a critical/warning and
allow a theme to override the critical/warning colors with a state of
"discharging-10", for example.
This change moves that logic after the discharging state, so that it
will always "win" if critical or warning states are set.
This also adds the "discharging" battery state to the critical/warning
check so the state will apply if the battery is not on AC power, but
would return normal otherwise. Meaning, if the battery is "critical"
from a percentage check, but is plugged into power, the critical state
is removed.
This adds an option allowing you to specify
"taskwarrior.show_active=true" in your bar configuration and will
display the current, active task id and description on the status bar, but will show the
number of pending tasks if one isn't active.
This also adds the scrolling decorator, since task descriptions can be
quite long.
add a scrolling module that can be used to scroll the whole bar to an
arbitrary number of widgets.
its parameter is "width", which determines the number of widgets to
display.
see #921
add a new module based on pulsectl, with pulsein for microphone and
pulseout for speakers.
should eventually become a drop-in replacement for pasink and pasource.
see #917
* initialize first line of output earlier (before modules are
initialized, so that module/thread output cannot interfere)
* make sure that update and draw are protected against concurrent access
This reverts commit 72a888748e, reversing
changes made to d57ef9364a.
This merge causes really high CPU load if using both pasink and
pasource, because those two modules trigger each other, and there's not
a terrible lot I can do about that, unfortunately.
* initialize first line of output earlier (before modules are
initialized, so that module/thread output cannot interfere)
* make sure that update and draw are protected against concurrent access
attempting a different tack: Reduce the amount of draws that are being
emitted by the pulseaudio module to max. 2/s. That hopefully increases
reactivity and at the same time keeps flickering to a minimum.
see #917
according to research (Jakob Nielsen '93), roughly 0.1s is what is
required for the user to feel "instantaneous".
based on this, rate-limit updates to only once per ~0.03s (0.1 felt
really laggy for me, so let's be conservative)
Added a second check for indications of possible change of public IP address since netifaces does not properly handle all Linux routing tables (ref: http://linux-ip.net/html/routing-tables.html) which can lead to changes being missed if only looking at defauilt route. Consequently an additional check for changes to the network interface names/numbers was added to further help in identifying potentially notable changes. Note that netifaces is no longer being maintained so the underlying issue with its handling of gateways is unlikely to be resolved (https://github.com/al45tair/netifaces). An alternative would be to use direct calls to the OS like 'ip route list table all' (note the difference to 'ip route list all') but this might lead to unpredicatble results between distributions/flavours so probably best to stick with a library for now. all') but this might lead to unpredicatble results between distributions/flavours so probably best to stick with a library for now.
Introduced time.sleep(2) following calls to util.location.reset() since it can take util.location a while to update following a call to .reset() which can cause calls to .location_info() to return unpredicatable/unuseful results.
Falls in the "meant well, but doesn't really make sense" category: When
the volume exceeds 100%, the widget was shown in "critical" state. Some
headsets, audio cards, etc. do require a high volume setting, however.
And anyhow, it's really up to the user.
fixes#913
add a boolean flag ("adjust") to redshift that allows the user to have
bumblebee-status actually perform the color adjustment (by invoking
redshift in "one-shot" node).
Note that this only updates the color value each time the redshift
module is updated (every 10s, by default), and likely will collide with
any running redshift process.
fixes#908