By default, i3bar sends SIGSTOP to all children when it is not visible (for example, the screen
sleeps or you enter full screen mode), stopping the i3pystatus process and all threads within it.
For some modules, this is not desirable. This commit makes it possible for modules to define the
"keep_alive" flag to indicate that they would like to continue executing regardless of the state of
i3bar.
Whenever the connecting to the remote server fails, query DNS and cache the result. This
should reduce the number of DNS requests the internet predicate
generates without changing the behaviour.
* Reduce overhead of internet predicate.
* Use 8.8.8.8 instead of google-public-dns-a.google.com save a DNS lookup.
* Use time.perf_counter instead of time.time().
Allow user to configure check frequency.
* added a module to monitor the current status of SABnzbd
* added the ability to open SABnzbd inside a browser by rightclicking
* added some error handling
* minor cleanup
Many packages install something into gi/overrides. If the gobject
package itself is not installed, the import of gi succeeds but
require_version is not contained within, resulting in an AttributeError.
* Calculate battery percentage from energy instead of average of batteries
Average only works if all batteries have the same max energy level. If setups with different sizes the smaller ones influence the percentage overproportianly strong
* check for battery type before calculating percentage, use old way if needed
* translate charge into energy to always calculate correct percentage
* Update openvpn
openvpn 2.4 has changed their services API so the clients are called openvpn-client now
* auto select service name based on openvpn version
default is the old service names, and if version is 2.4, switched to the new service names
* oops remove whitespace
* Add a config to use new openvpn service names
* remove extra comment
* change the variable name
* oops 😅 forgot to change the option name in settings
* update option description
* network - Use different format strings for each autodetected interface
Introduce format_active_up dictionary. Each key can be a valid globbing pattern
for fnmatch.fnmatch().
Fall back to format_up if no match could be found.
* network - Always honor disabled dynamic_color
Disable the calculation of color values if detect_active is enabled
and dynamic_color is disabled.
This resulted in "#000000" for some reason.
Originally, uptime checked seconds_alert against seconds to determine
whether to use color_alert, but if {days}, {hours}, or {mins} is used in
the format string, seconds is truncated to exclude anything above a day,
hour, or minute respectively.
This caused seconds to always be below a seconds_alert value greater
than a day, for example, if {days} is used, so the alert color was never
used.
Fix this by saving and checking against the raw seconds that were
originally read.
The weathcom module was broken due to referencing a variable that did
not exist. It appears this was a typo or copy/paste error. Either way,
this patch fixes that error and the weathcom module works again!
Just got a usage alert when my laptop wasn't even on.
n00b mistake! I've disabled the API key, and this removes it from the
example in the documentation.
It appears that the page data loads in one of two ways. I haven't
figured out what causes either, but this makes it so that we detect both
methods and load the relevant data either way.
* Update Weather.com weather backend to reflect API changes
Their API still provides a feed which requires a rotating API key, but
that API key is no longer something we can parse out of the webpage.
Fortunately, the forecast data is compiled server-side anyway and is
present as a blob of javascript that we can parse out of the page and
load as JSON.
* Clarify directions for getting location code
Small rewrite in redshift module, removing regex usage in favor of
split()/strip(). I removed the function declaration inside function
declaration too, since it was strange.
Fix some typos in documentation too.
When we move the sink of an application, it can fail, then pacmd
print error message on stdout, breaking the i3pystatus json.
This changes hides these messages since their are not really usefull.