Use generic interval mechanism in most of the modules that use slow
updates.
Only exception: getcrypto, as the interval is specified in seconds there
and I want to retain backwards-compatibility.
fixes#220
Add a generic mechanism to set a specific interval (in minutes, as this
is primarily intended for modules that want to "slow down" updates).
This gives *all* modules the parameter "interval" and allows each module
to set the default interval using the method "interval(<value>) in the
module constructor.
see #220
In order to use symbol files, symbol.json needs to be created manually
now.
Also, remove symbol usage from the prepackaged themes to avoid
breakage.
fixes#216
Redshift might block when no network connectivity is available (if it
tries to determine the location automatically). To avoid this blocking
the whole status line, immediately release the lock in the query thread.
Theme writers are now able to use FontAwesome names and IDs instead of
the symbols itself!
The implementation itself is *slightly* hacky and might get improved in
the future: Upon the first start, a YAML file containing the FontAwesome
symbols is fetched from
https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml
Note: This is only done once - to retrigger this (i.e. for an update),
please just delete the file and restart bumblebee-status.
Then, in the *icon* theme itself, you can use ${<name or id>} instead of
the actual symbol.
Names and IDs can be found here:
http://fontawesome.io/cheatsheet/
(simply remove the "fa-" prefix)
An example is provided in themes/icons/awesome-fonts.json.
(finally) fixes#20
sorry for taking so long :)
Move updating of redshift information into a separate thread so that
errors like missing network connectivity do not block the whole status
bar.
fixes#61
List themes only once, even if they are present multiple times in
different locations.
(Yes, I know that list(set(result)) would do the same, but here, I'd
like to not waste memory and be a bit faster).
see #203
Finally fix the datetime import errors by renaming the bumblebee
datetime module (*bad* idea from the start).
Apologies to everyone for whom it now breaks.
This modules makes it very easy to create shortcuts as widgets, for which the user can define the command to be executed when left clicking on it. It supports single or multiple shortcuts
* This module only updates some information on the screen when a new
display is added/removed, hence it makes sense to update it only when
the i3-bar is refreshed.
Add a new parameter engine.workspacewrap (default to true) that, if set
to false, makes the workspace change via mouse wheel stop when hitting
the first/last workspace of an output (identical to how i3wm bar itself
behaves).
fixes#188
Add a parameter that allows the user to enable/disable workspace
scrolling via the status bar.
By default, scrolling is enabled, to disable it, add the following
parameter to your bumblebee-status invokation:
-p <other parameters> engine.workspacewheel=false
see #188
After listening to an audio stream for longer than 10 minutes "mpc -f "tag artist %artist%\ntag title %title%"" will start producing lines with slightly different separation, which caused the bar to fail.
In a theme file, it is now possible to provide an array of "color
definitions", which allow you to use names instead of colors throughout
the theme file.
Currently, only the colorset "wal" is supported, which reads all colors
from the wal JSON file (~/.cache/wal/colors.json) and makes them usable
in the theme (as "foreground", "background", "cursor", "color12", etc.).
An example of this can be found in the theme wal-powerline.
see #185
This file has no actionable code when executed directly from a shell. It contains only a `class` as it is a bumblebee module.
so the shebang should be removed.
On intel pstate drivers only the normal frequency is written to /proc/cpuinfo, not accounting for scaling/turbo.
This should fix that, though it needs testing on other computers (AMD, intel without pstate) because I am not
certain that the file only exists on Intel pstate.
In order to do that, change the theme engine so that a theme can
override settings in the iconsets. Was probably a bug to begin with that
this was not possible.
In python2, filter returned a list, but in python3 it returns an iterator. So
we wrap this in a list() so that it works in both. We also want to count the
unread notifications, so this should be reflected in the code.
Override sys.stdout and sys.stderr in an attempt to enforce utf-8
encoding. Probably this will cause all kinds of weird issues down the
line, but at least, it seems to solve the immediate issue.
fixes#176
Replace textwrap.shorten() with custom implementation, since it is only
available since Python 3.4. While at it, catch i3 exceptions in order to
make unit tests (hopefully) run through.
Also, Updated README.md
see #174
The "base" currency can now be configured using the parameter "source",
and the "symbols" to be resolved can be configured using the parameter
"destination", which is a comma-separated list.
see #169
If a callback command cannot be executed, do not terminate the whole
bar. Furthermore, if such a failure occurs, try to fall back to a
globally (i.e. non widget-specific) command, so that callbacks
registered in the engine itself (such as mouse-wheel scrolling) still
function properly.
fixes#166
* A module can override the method "hidden" to specify when all it's
widgets should be hidden.
* Implement hidden for cmus and spotify
* Fix problem that cmus widgets were not displayed correctly
fixes#157