This was causing an ocassional crash in bumblebee/engine.py threshold_state
when checkupdates fails, perhaps due to wifi not being up yet.
For me this showed up regularly on login.
The statusbar was freezing for several minutes if it could not reach
the API endpoint. This is because of a missing timeout statement in
the call to python.requests's get function.
- Added spaceapi.timeout parameter
- Added timeout to requests
Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
SpaceAPI is a API for hackerspaces. Hackerspaces announce their state
and location using a predefined json framework. Users can use this data
to make sure the space is opened before they decide to go there.
The module was created because the author felt the need to know if his
hometown's space was open or not.
Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
Displays the result of a notmuch count query
default : unread emails wich path do not contained "Trash" (notmuch count "tag:unread AND NOT path:/.*Trash.*/")
Parameters:
notmuch_count.query: notmuch count query to show result
Errors:
if the notmuch query failed, the shown value is -1
Dependencies:
notmuch (https://notmuchmail.org/)
When pressing the middle mouse button (and it's not assigned to any
other functionality), the module (i.e. all widgets of that module) will
disappear and be replaced with the module's icon (or prefix, as
fallback) and an ellipsis.
fixes#264
When loading a color scheme (e.g. wal) fails for some reason, do not
abort bumblebee-status. Instead, log an error message and continue
without the colors.
fixes#263
If the kernel supports it, MemAvailable contains an estimation
of the memory available for usage.
Use this to calculate the amount of free memory (as this seems to
closely match the output of gnome-system-monitor).
fixes#253
Add an option to load a user-specified icon theme (which will override
the theme's icons).
Also, commit a first version of a set of icons from the ionicons set
(see http://ionicons.com/).
see #252
Instead of throwing an error, simply return an empty SSID. Also, for
these cases, make sure the module doesn't output multiple whitespaces as
the end.
fixes#248
For some reason, using "used/total" is more accurate than "(total -
free)/total". Probably there's some missing gap of what is counted as
used vs. what is counted as free.
fixes#229
instead of terminating the whole status bar when an error occurs, just
show a (truncated) error for that single widget.
this should also enable auto-recovery if the module returns to a "good"
state, but that hasn't been tested yet.
see #221 and #222
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
was having some problems with the current implementation as i have multiple values with the same name in sensors -u.
this way it is unambiguous and *should* just work everywhere with no lm_sensors required, though some distros might move the pseudo file elsewhere, not sure, but thats why it is configurable.
testing would be great.
also, the file is simpler too.
If a configuration parameter is *not* specified with -p on the
commandline, look for a INI style configuration file as fallback in
~/.bumblebee-status.conf or ~/.config/bumblebee-status.conf.
Section must be "module-parameters", like this:
[module-parameters]
github.token=<your github token>
fixes#138