Commit graph

928 commits

Author SHA1 Message Date
Tobias Witek
eb72d59ed1 [core] Each module can now access theme data
Add a method "theme()" to the generic module to have access to the theme
information.

Specifically, "theme().get(widget, attribute, default_value)" can be
used to retrieve theming for a widget with an arbitrary attribute.

This is in response to #412 - thanks to @bbernhard for the suggestion!
2019-08-01 20:41:13 +02:00
Milos Miljanic
f8cdb18861
Merge branch 'master' of github.com:tobi-wan-kenobi/bumblebee-status 2019-07-31 23:28:47 +02:00
tobi-wan-kenobi
ebd97a9495
Merge pull request #412 from bbernhard/system
system module
2019-07-31 19:51:34 +02:00
Milos Miljanic
1853723eb1
Add twmn module for switching notifications on and off 2019-07-30 19:48:08 +02:00
Bernhard B
7f8e08a832 fixed small bug in system module
* only destroy root window if it was created
2019-07-28 18:19:49 +02:00
Bernhard B
1598275b25 fix indentation in system module 2019-07-28 18:17:29 +02:00
Bernhard B
940172aab1 added new system module
* allows to shutdown/reboot the system
2019-07-28 18:14:46 +02:00
Tobias Witek
5ee612da2d [doc] Add screenshot for network_traffic
Add http status module

fix

chore: update modules number
2019-07-24 12:37:59 +02:00
tobi-wan-kenobi
286ae7a41f
Merge pull request #408 from izn/feature/basic-network-traffic-module
[module] Basic alternate network traffic module
2019-07-11 20:08:23 +02:00
Thaynã B. Moretti
92a7d95fd7
Fix comment typo 2019-07-09 22:29:34 -03:00
Thaynã B. Moretti
21e2f46564
Add network traffic icons & minor refactor 2019-07-09 22:27:59 -03:00
Tobias Witek
7d1a3f7532 [doc] Add vault count and attribution of the idea to bbernhard 2019-07-06 20:32:18 +02:00
Tobias Witek
451de4544c [modules/vault] Add a new password vault module ("pass")
Add a new module that can be used to copy passwords from a password
store into the clipboard.

Currently, only "pass" is supported.

As long as only bumblebee is used, it will also show which password is
currently in the clipboard and how long it will still stay there.
2019-07-06 20:28:21 +02:00
Tobias Witek
6deb80edda [core/popup_v2] Destroy menu on leave
When mouse leaves the menu, destroy it.
2019-07-03 18:52:12 +02:00
Tobias Witek
682d2f47dd [core/theme] State == "" causes backtraces
Empty states ("" rather than None) caused a backtrace in the theme
engine. Fix that by being a bit more robust, and add a test that checks
for regressions.

fixes #406
2019-07-02 20:19:26 +02:00
Gael Chamoulaud
49f32f9a49 Remove Microsoft Carriage Return and Line Feed.
This patch get rid of the Microsoft CR and LF in the following modules:
- pihole.py
- vpn.py

Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2019-07-02 11:55:19 +02:00
Jan Kočka
01c2bb6cbc [modules/arch-update] add format parameter 2019-06-30 22:49:23 +02:00
Tobias Witek
5f3530d258 [modules/battery] Use theme.exclude to not show suffix
If battery module should be "undecorated", do not show the suffix.

fixes #401
2019-06-27 20:22:40 +02:00
Tobias Witek
53462d1f0b [core/theme] Add a way to exclude themeing for widget
Allow a widget to set "theme.exclude" to extend any part of a theme
(e.g. the suffix). Note that this can later, on demand, be extended to
allow a list of elements to be passed in.

see #401
2019-06-27 20:21:53 +02:00
Tobias Witek
138bd01b76 [modules/battery] Allow hiding of icons
Use the parameter battery.decorate=False to hide icons such as the AC
indicator and the charging symbol.

warning and critical states are still propagated.

fixes #401
2019-06-26 20:36:04 +02:00
Tobias Witek
928c37a972 [core+tests] Improved poll handling
- mock poll instead of epoll
- increase timeout for poll (1ms is a lot of system load for nothing)
2019-06-23 16:51:28 +02:00
iamroo_t
b16433ab60 changed epoll to poll, updated README for FreeBSD 2019-06-23 11:38:39 +02:00
Thaynã B. Moretti
55478e2e8d
Remove useless __new__ 2019-06-21 13:14:49 -03:00
Thaynã B. Moretti
5dec1adc97
Suppress errors when no gateways are found 2019-06-21 13:10:04 -03:00
mw
7b08777d77 Add support for switching dpms 2019-06-19 22:26:48 +02:00
tobi-wan-kenobi
4db9c714bb
Merge pull request #398 from donfranio/mod-brightness-consider-brightnessctl
Mod brightness consider brightnessctl
2019-06-14 20:14:07 +02:00
Tobias Witek
71d80ded40 [modules/vpn] Fix tests
Add a guard in case nmcli is not installed or does not return anything.
2019-06-14 20:09:03 +02:00
tobi-wan-kenobi
bf57496093
Merge pull request #397 from bbernhard/vpn
vpn module
2019-06-14 20:07:10 +02:00
Frank Scherrer
0185335e66
refactoring regarding errors from codeclimate 2019-06-14 12:53:38 +02:00
Frank Scherrer
30789499f5
format code to be flake8 conform 2019-06-14 12:08:56 +02:00
Frank Scherrer
7398bf9f94
add code to consider brightnessctl binary for brightness module 2019-06-14 12:04:36 +02:00
Bernhard B
c7a0caeda5 small improvements in vpn module
* renamed "Off" to "Disconnect"
* do not show already established connection in popup menu
2019-06-10 20:12:54 +02:00
Bernhard B
a7a1da6b5d added vpn module
* shows current VPN connection
* allows to establish a VPN connection
2019-06-10 20:05:32 +02:00
Tobias Witek
ed25538bcb [core/popup_v2] Add logging if tkinter is not found 2019-06-10 14:59:43 +02:00
tobi-wan-kenobi
595847b2db
Merge pull request #396 from bbernhard/popup_menu
reworked PopupMenu implementation
2019-06-10 14:58:52 +02:00
Bernhard B
171bea4f6e added alternative bumblebee popup implementation
* the original implementation doesn't always generate click events.
  This new implementation fixes this issue.

  But as the old implementation is still in use (the bluetooth module makes use of it)
  and this implementation is probably not as matured as the old one, it
  was agreed to keep both the old and the new implementation until the
  bluetooth module has been migrated to the new implementatation.
2019-06-10 14:47:59 +02:00
Tobias Witek
210075fdf9 [modules/apt] Show error if unable to query APT
If querying APT fails for some reason, show an error message and set the
state of the widget to critical.

fixes #395
2019-06-06 20:14:16 +02:00
tobi-wan-kenobi
fcbb899e2f
Merge pull request #392 from bbernhard/callback_fix
fixed bug in bumblebee popup implementation
2019-06-04 20:36:54 +02:00
Frank Zhao
68cb2e1c79
Add datetimetz module for timezone information in date display
Allow multiple comma seperated timezones

Handle click to cycle through configured timezones
Example:
```
bumblebee-status -m datetimetz -p \
datetimetz.timezone=\
"Australia/Sydney,Pacific/Auckland,America/Los_Angeles"
```
Added dependencies to travis config
2019-06-04 17:51:46 +10:00
Bernhard B
e392385168 fixed bug in bumblebee popup implementation
* allow custom callbacks
2019-06-02 13:32:48 +02:00
tobi-wan-kenobi
cc6fa5a3f3
Merge pull request #391 from bbernhard/improve_missing_tkinter
improved error handling
2019-05-31 20:19:30 +02:00
Bernhard B
6d49685715 improved error handling
* log a warning message in case tkinter is not installed
2019-05-31 18:19:37 +02:00
tobi-wan-kenobi
222be20138
Merge pull request #388 from david-perez/master
Add support for city ids to weather module.
2019-05-21 18:23:00 +02:00
Stepan Kurennykh
c5c0fc40b6 convert title.max parameter to int 2019-05-20 21:33:19 +03:00
david-perez
8bb67642fd Add support for city ids to weather module.
Some cities (e.g. in different countries) have the same names. Providing a city
name to the weather module would previously display the first returned result by openweathermap's API.
This commit allows city ids to be provided to the weather module. If a location passed
to the weather module only contains numbers, it will be interpreted as a city id.
City ids are those handled by openweathermap's API to uniquely identify cities.

See https://openweathermap.org/current#cityid for details.
2019-05-20 19:10:39 +01:00
tobi-wan-kenobi
9d9bf0fa8e
Merge pull request #387 from bbernhard/fix_iface_down
small improvement in pi-hole module
2019-05-16 20:42:49 +02:00
Bernhard B
8996635db0 small improvement in pi-hole module
* set status to 'pi-hole unknown' in case the pi-hole status cannot be
  retrieved.
2019-05-16 19:52:35 +02:00
Tobias Witek
23377a3ed8 [modules/datetime] Fix fallback
Fallback handling for setting the locale was completely broken.

fixes #386
2019-05-14 20:46:28 +02:00
Thaynã B. Moretti
3031077713
Add Python 2.7 support 2019-05-13 20:53:31 -03:00
Thaynã B. Moretti
c0706070ab
Add encoding header 2019-05-13 20:32:16 -03:00
Thaynã B. Moretti
e9afaa2e1b
Update widget build to use keyword args 2019-05-13 20:29:09 -03:00
Thaynã B. Moretti
a2fb344aa7
Create widget with minwidth 2019-05-13 20:14:13 -03:00
Bernhard B
315328b41f Merge branch 'master' of https://github.com/bbernhard/bumblebee-status 2019-05-12 20:49:02 +02:00
Bernhard B
c7f979a735 added new pi-hole module
* allows to enable/disable pi-hole
* shows today's blocked ads
2019-05-12 20:45:08 +02:00
Frederic Junod
cef85b47a2 [doc] Add default refresh interval in doc 2019-05-09 09:21:30 +02:00
Frederic Junod
f996f8caef [doc] Fix cpu.format default value in documentation 2019-05-09 08:49:12 +02:00
Thaynã B. Moretti
87c0b170d4
Create an alternate network traffic module 2019-04-30 19:50:16 -03:00
Tobias Witek
94427ea20f [modules] dunst: try to handle errors gracefully
Try to handle dunst pause/unpause errors "gracefully" (ignore them).

fixes #381
2019-04-30 17:07:12 +02:00
Tobias Witek
86c8dd5219 [modules/battery_all] Remove defunct estimate calculation code
A decent fallback implementation would require some kind of differential
measurement to be able to calculate a rate of change.

For now, that is simply more complicated than warranted.

Thanks to @stoeps13 for pointing that out!
2019-04-24 20:09:03 +02:00
Tobias Witek
e0a7ca5b87 [modules/battery_all] Fix remaining time calculation
Thanks to @stoeps13 for pointing out a bug in the calculation of the
remaining time for multiple batteries.

see #379
2019-04-23 06:05:36 +02:00
Tobias Witek
011b3b631b [modules/nvidiagpu] Add missing initialization 2019-04-15 20:35:59 +02:00
Tobias Witek
01883c1284 [modules] Fix two minor Travis complaints 2019-04-15 20:32:21 +02:00
0xDEAD
842e4f1795 nvidiagpu: add gpu/mem clock and fan-speed 2019-04-15 12:31:24 +02:00
0xDEAD
eadc2b45c3 nvidiagpu: add option to format output (default=current format) 2019-04-15 12:30:20 +02:00
Pavle Portic
579239292b
Detect wireguard interfaces as tunnel type 2019-04-14 00:46:40 +02:00
varkokonyi
41b48cf8e8 [modules/hostname] add hostname module 2019-04-06 20:36:55 +02:00
Sönke
17caeca6a7
Add simple dunst module + icons 2019-03-24 20:39:29 +01:00
Tobias Witek
783a52427b [modules/nic] remove invalid import from debug
never, ever commit debug code *rolls eyes*
2019-03-01 21:08:09 +01:00
Tobias Witek
1359f1000f [engine] Nicer handling of module exceptions
Do not throw exceptions during exception handling, that causes really
hard-to-interpret error messages.

Instead, log a message and throw outside the exception handler (the code
could do with some cleanup, but is localized enough for now).

see #367
2019-03-01 21:02:51 +01:00
Tobias Witek
8db3435ddc [modules/nic] Add log for missing modules
When modules cannot be imported, add a warning line to the log.

see #367
2019-03-01 15:13:34 +01:00
Tobias Witek
930c70e06a [core] Allow mixing of parameter specs
Allow modules and parameters to be specified as either simple lists (-p
a b c d) or as multiple instances (-p a -p b -p c).

fixes #362
2019-02-15 18:01:06 +01:00
Tobias Witek
193305dc11 [modules/xrandr] Fix documentation bug 2019-02-14 20:12:41 +01:00
Tobias Witek
2522b428b6 [modules/prime] Minor fix for return type
Also, add module to doc
2019-02-14 20:09:41 +01:00
Jeff Eberl
76940c8dbb Added module for prime video cards (nvidia/intel hybrid computers). 2019-02-14 10:58:48 -07:00
Tobias Witek
451e3e48e5 [modules/weather] Fix location display for "auto"
When "auto" is used, the location was never shown.

Also, document the "showcity" parameter.

fixes #360
2019-02-11 20:07:10 +01:00
Tobias Witek
bb65c1cd68 [modules/location] Enable location switching
If multiple locations are provided as comma-separated list, left-click
and right-click can be used to circulate through them.

NOTE: Every click produced a new request to the weather reporting
service!

see #360
2019-02-09 13:10:35 +01:00
Tobias Witek
80892477f6 [modules/xrandr] Subscribe to i3 output events, if possible
If i3-py is available, use it to subscribe to output events to reload
the widget list whenever the outputs change.

fixes #359
2019-02-09 11:00:12 +01:00
Tobias Witek
a198b8d9e3 [modules/xrandr] Add refresh widget when autoupdate==False
If polling displays via xrandr is disabled, show an additional widget
that allows the user to manually refresh the widget list.

see #359
2019-02-08 20:11:48 +01:00
Tobias Witek
8511e57ed2 [modules/xrandr] Optionally disable polling
Add option to disable display polling via xrandr to work around kernel
issues that cause persistent lags.

see #359
2019-02-08 20:06:12 +01:00
Frederic Junod
9cb127ee21 Remove hipchat module 2019-01-31 15:44:31 +01:00
Tobias Witek
47eeac00a0 Revert "Merge branch 'partial-update-on-input'"
This reverts commit a2cc828e58, reversing
changes made to 87f185e62b.
2019-01-26 19:40:08 +01:00
Tobias Witek
a2cc828e58 Merge branch 'partial-update-on-input' 2019-01-23 20:06:17 +01:00
Tobias Witek
87f185e62b [modules/git] Nicer formatting of stati
Add separate widgets for each state, so that each state can have a
custom icon *and* a custom coloring.
2019-01-23 19:56:16 +01:00
Tobias Witek
1698e4ad4c [modules/git] Make CI (hopefully) run through
OK, so I cannot configure Travis to install pygit2, obviously. Instead,
I'll make the "git" module run though even if pygit2 is not installed.

Hope that satisfies you, Travis!
2019-01-20 19:27:04 +01:00
Tobias Witek
e6aabe5605 [CI] More package crazyness 2019-01-20 18:45:47 +01:00
Tobias Witek
5738aac1ce [modules/git] Add some status icons
Add icons for:
* local modifications
* local delete
* local add
2019-01-20 14:43:27 +01:00
Tobias Witek
212966945c [modules/git] Fix recursion error
Endless loop caused by stupid bug when trying to find the root git
repository.
2019-01-20 14:17:10 +01:00
Tobias Witek
580bc554ba [modules] Add new module to display git information
This module uses xcwd to retrieve the directory of the currently focused
window and, if any of the parent directories is a git repository,
displays basic information about the repository.

Right now, only the current branch name is displayed.
2019-01-20 14:09:42 +01:00
Tobias Witek
aab259b826 [modules/pulseaudio] More exact enforcement of limits
If increasing would exceed the volume, set it to exactly the limit
instead. Also, if channels have different volumes, ensure that the
higher channel does not exceed the volume.

fixes #354
2019-01-20 09:09:11 +01:00
Tobias Witek
b377a93e49 [core] Add debug output for partial bar update
see #353
2019-01-20 07:34:27 +01:00
Tobias Witek
d9df96adcb Merge branch 'master' into partial-update-on-input
To make sure that all conflicts are resolved and because the
autohide feature is so nice.
2019-01-19 14:56:25 +01:00
Tobias Witek
7b07ef538a [core] Add "autohide" for distraction-free programming
Add a new parameter "-a|--autohide" that allows you to specify a
list of module names (or aliases) that will be hidden from the bar
*unless* their state is either warning or critical.
2019-01-19 14:51:48 +01:00
Tobias Witek
23be352ec3 [core/engine] Ensure that full updates still take place regularly
Ensure that a full update still happens, even if continuous scrolling
triggers new events (and therefore, partial updates) all the time.

see #353
2019-01-19 14:18:48 +01:00
Tobias Witek
2b91ce5861 [core/output] Refactor full/partial refresh
Creating the "raw", cached widget data out of the widget object was done
two places now.

see  #353
2019-01-19 14:12:32 +01:00
Tobias Witek
3d9279c444 [core] Update only affected widgets on input event
When receiving an input event, only update affected widgets, identified by
their instance ID.

see #353
2019-01-19 14:07:17 +01:00
Tobias Witek
44a50c0b36 [modules/pulseaudio] Fix failing test case (wrong types) 2019-01-19 07:47:21 +01:00
Tobias Witek
3d9e170da3 [modules/pulseaudio] Add optional upper limit for volume
Add a new parameter "limit" that, if set, specifies an upper limit for
the volume.

Note: This is only enforced at the time of *setting* the volume, so you
can still use other applications, such as pavucontrol, to exceed that
limit and bumblebee-status will simply *display* the new value, not
reset to the limit.

fixes #354
2019-01-19 07:42:11 +01:00
Michael Kwardakov
6531038bc5 Describe requirement for nic module 2019-01-18 13:49:07 +03:00
tobi-wan-kenobi
7ed7d48db1
Merge pull request #351 from rad4day/master
[modules/spaceapi] Performance optimization - JSON
2019-01-17 19:28:55 +01:00
Tobias Manske
f53cd062ae
[modules/spaceapi] Performance optimization - JSON
The module now flattens the JSON structure when it is received from the
API endpoint instead of every time the statusbar is updated. This should
make the module much more performant.

Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
2019-01-17 01:03:11 +01:00
Tobias Witek
b8d05b435f [modules/redshift] Minor refactoring 2019-01-16 20:13:28 +01:00
Michael Kwardakov
f2052c21be Fix ending newline from mocp on some systems 2019-01-16 07:42:44 +03:00
Michael Kwardakov
18b0e793cb mocp toggles shuffle on right click 2019-01-14 12:03:47 +03:00
Michael Kwardakov
29d427e6a1 Make mocp understand formats
Slight init optimization
2019-01-14 11:51:51 +03:00
Michael Kwardakov
d21a27ca5a
Update dependencies 2019-01-12 20:30:40 +03:00
tobi-wan-kenobi
2060ee7c34
Merge pull request #346 from qba10/master
[modules/apt] Add APT update checking module
2019-01-07 21:40:34 +01:00
Piotr Piórkowski
1860b7abb3
[modules/apt] Add APT update checking module 2019-01-07 20:56:13 +01:00
tobi-wan-kenobi
aa8167ed25
Merge pull request #345 from rad4day/master
[modules/spaceapi] rewrite
2019-01-07 20:23:17 +01:00
Tobias Manske
521b382131
[modules/spaceapi] Improve documentation / help text 2019-01-07 01:41:40 +01:00
Tobias Manske
ab309f873b
[modules/spaceapi] Python2.7 compatability 2019-01-07 01:19:34 +01:00
Tobias Manske
54024f1ddd
[modules/spaceapi] Reload on left mouse button
Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
2019-01-06 22:57:25 +01:00
Tobias Manske
e95652fc05
[modules/spaceapi] format string to json parser
Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
2019-01-05 19:34:21 +01:00
Tobias Manske
0be81ec1f7
[modules/spaceapi] rewrote module to use threading
Also I'm not catching every exception anymore.

Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
2019-01-04 15:39:55 +01:00
WORD559
130fa0ea4f Commented out @scrollable for spotify module -- does not work for some reason, see PR #343 2018-12-29 16:42:21 +00:00
WORD559
8ea9762472 Modified behaviour of bumblebee.output.scrollable to allow for custom scroll speed and toggling "bouncing" of text, and applied it to deadbeef and spotify 2018-12-28 21:27:38 +00:00
Tobias Manske
5203cd88a3
[modules/spaceapi] Fix ArgumentException
This ArgumentException was caused by me failing to rename one occurence
of a parameter when refactoring code. This went under my radar as the
API I'm usually testing against, was offline at that time, too. So I
expceted to see an Error. Just not this one.

Well, the fix comes late, but better late than never :)

Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
2018-12-24 12:46:08 +01:00
Martin Wallgren
279411176e [modules/layout-xkb] use XKeyboard to set layout
XKeyboard has support for setting the layout directly. There is no need
to explicitly execute an external command.
2018-12-04 13:18:50 +01:00
Tobias Witek
1850ceefdc [core] input: add logging for input events
to debug input event issues (which seem to become more frequent), add
some input event logging.

see #336
2018-12-03 20:17:18 +01:00
927589452
c29a1e1a8c
Update battery_all.py
added battery device for pinebooks
2018-11-26 13:02:46 +01:00
Tobias Witek
7d55bdce6c [engine/output] Use (experimental) custom widget padding
When padding a widget, instead of using the "min_width" field of the
i3bar protocol, which seems to "swallow" click events, perform a custom
padding by simply extending the right-hand side with spaces.

fixes #334
2018-11-25 17:50:05 +01:00
Tobias Witek
22419b813f [modules/brightness] Use 'light' instead of 'xbacklight'
If available, use 'light' for setting the background light, as per
suggestion of RiadhAmami - thanks!

fixes #332
2018-11-24 10:56:27 +01:00
Martin Morlot
876ff7dd76 Fix the remaing time so that it displays the time for all batteries and not just one battery 2018-11-17 21:29:18 +01:00
Tobias Witek
5f8becfb55 [modules/battery_all] Some small code simplifications
Make update routine smaller by creating a single, static widget.
2018-11-17 18:32:21 +01:00
Tobias Witek
e4a97eca10 [modules/battery_all] Remove showdevice parameter
Showing the device name doesn't add anything for the battery_all module,
as it combines all batteries.
2018-11-17 18:26:19 +01:00
Martin Morlot
1bd85ce8d1 My first commit: the battery all 2018-11-17 16:36:09 +01:00
Tobias Witek
354dc0fbcd [modules/sensors2] Fix tests
Forgot an import
2018-11-17 13:56:07 +01:00
Tobias Witek
0d9b3113f4 [modules/sensors2] Alternate sensor module
Show all sensor data reported by sensors -u and color widget with
warning/critical if sensor limits are exceeded.

fixes #326
2018-11-17 13:38:35 +01:00
dustypaws
6ad9724a54
Update pulseaudio.py 2018-11-16 12:46:36 +01:00
dustypaws
b92d3423af
Set state to critical if volume is set over 100%
..."warning" would suffice but eh!

Useful for headphone users. Or at least I think so... :)
2018-11-16 12:43:19 +01:00
Tobias Witek
bc569a11af [modules/sensors] Fix regex
fixes #308
2018-11-13 18:23:53 +01:00
Tobias Witek
2994d0efa0 [modules/battery] Better display for "unknown" charge status
Some laptops, such as Dells, may display an unknown charge state when
the battery is attached to a docking station, but discharging (because
of configuration settings for longevity of the battery).

Show that nicer.
2018-11-09 18:19:05 +01:00
tobi-wan-kenobi
e5a003f961
Merge pull request #321 from jeffeb3/reduce_min_size_cpus.py
Use the parameter format to determine the minwidth
2018-11-09 16:44:41 +01:00
Tobias Witek
c514d965cb [modules/xrandr] Do not overwrite i3 config by default
Require user to explicitly enable overwriting of i3 config files before
starting to automatically assemble the i3 config from a template and a
set of display-related config files.

fixes #322
2018-11-09 16:48:00 +01:00
Jeff Eberl
bf5e814e45 Use the parameter format to determine the minwidth, instead of the default format. 2018-11-08 20:15:45 -07:00
Tobias Witek
2f7931753e [modules/sensors] Add parameter "match_pattern" to find correct adapter
Instead of providing match_number, it is now possible to specify a
second pattern that matches directly *before* the "match" value.

fixes #308
2018-11-08 18:56:26 +01:00
Tobias Witek
c39e2077e3 [modules/sensors] Add support for JSON-formatted sensors output
sensors -j give JSON output, which is much easier to parse than
raw output.

Use this, together with the "path" parameter, to allow robust reading of
sensor values.

fixes #308
2018-11-07 16:46:49 +01:00
Tobias Witek
7b12f678d6 [core/theme] Support loading of themes by file name
If the theme name provided by the user is a file, load the theme from
there.

Note: This change automatically enables a theme to load iconsets from a
file name, instead of using a iconset name.

fixes #319
2018-11-06 21:09:26 +01:00
Tobias Witek
3e39f443ef [core/input] More robust event reading
Regular i3bar events *can* contain the character [, so a better
mechanism for detecting the initial opening [ is required. For now, do a
minimal change that requires the line to *start* with [. This should
never be the case for i3bar events, which are always JSON objects.

fixes #318
2018-11-06 17:51:48 +01:00
tobi-wan-kenobi
7a12a07a7c
Merge pull request #317 from alexmohr/BatteryImprovements
Improved battery module for 2 batteries
2018-11-03 19:15:29 +01:00
Alex
17d1113141 changed default parameter for tests 2018-11-03 18:27:19 +01:00
Tobias Witek
eddc563052 [modules/datetime] Use hardcoded application for left-click
Open app "calendar" by default when left-clicking the datetime widget.
2018-11-03 18:23:00 +01:00
Alex
9b4d1c52e6 Improved battery module for 2 batteries 2018-11-03 17:52:02 +01:00
Alex
a2804e92f6 Removed open parameter 2018-11-03 17:38:39 +01:00
Alex
1b6568016a Merge branch 'city' 2018-11-02 10:06:16 +01:00
Alex
f021250e41 Using util function for boolean param 2018-11-02 10:04:43 +01:00
Alex
8bb718fef8 Merge branch 'date-click' 2018-11-02 00:56:44 +01:00
Alex
6de12a0e96 Added support for date time click 2018-11-02 00:55:24 +01:00
Alex
19e6abc8ca Added option to disable city display 2018-11-01 22:15:00 +01:00
Alex
85bcc7164f Fixed status for unknown charge state 2018-11-01 21:58:07 +01:00
Frederic Junod
6df041754c [module/weather] Use json function from requests response
Instead of using the json library
2018-10-31 16:26:47 +01:00
tobi-wan-kenobi
d2795fd99b
Merge pull request #309 from kelp/kelp-arch-update-fix
Return 0 as an int rather than a string.
2018-10-29 17:53:47 +01:00
Frederic Junod
ab4e0019cf Remove immediate param in github and hipchat update function
Not needed after 3638aa2420
2018-10-29 11:32:02 +01:00
Travis Cole
0d8585a2ab Return 0 as an int rather than a string.
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.
2018-10-28 14:03:59 -07:00
Tobias Manske
8eaded9405
[module/spaceapi] fix freeze on unreachable API
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>
2018-10-26 00:17:13 +02:00
Tobias Witek
0a03fc859e [module/traffic] Make speed calculation work with fractionals
thanks to @ilmagico for noticing this, fractonal intervals are
supported, so they should calculate the throughput correctly.

fixes #306
2018-10-23 18:10:55 +02:00
Tobias Witek
cb04cf6de6 [modules/traffic] Calculate speed per second instead of per interval
Divide speed by timediff between current and previous measurement to get
the rate per second.

fixes #306
2018-10-22 18:34:58 +02:00
Tobias Witek
a579f32879 [modules/docker] Return n/a when docker is not available
When the docker python module is not available, return n/a
instead of error'ing out.
2018-10-18 19:35:48 +02:00
Jorge Lopez
e767f9b393 [modules/docker] Add basic docker list module 2018-10-18 12:14:06 +02:00
Tobias Manske
defdc7f077
[modules/spaceapi] refactor, add comments, use interval function
Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
2018-10-05 21:39:48 +02:00
Tobias Manske
095b27436e
[modules/spaceapi] convert from urllib2 to requests
better python2 support

Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
2018-10-05 17:54:43 +02:00
Tobias Manske
969d2f35cd
[module/spaceapi] Add Space API module
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>
2018-10-05 17:25:52 +02:00
Tobias Witek
20f48d4535 [module/datetime] Add more error handling to locale setting
If setting a locale fails with an exception, set to en_US.UTF-8 by
default.

fixes #159
2018-10-01 19:30:44 +02:00
Tobias Witek
7af04b0556 [modules/sensors] Use thermal zone, if specified on commandline
fixes #298
2018-09-24 18:15:04 +02:00
Tobias Witek
e80ae8b91e [core] Add option to draw widgets right-to-left
fixes #295
2018-09-22 14:40:32 +02:00
Tobias Witek
7152bb17f2 [core] Generic collapsible widgets
Each widget can now be collapsed and expanded using the middle mouse
click, by default.
2018-09-15 14:40:52 +02:00
Aaron Moser
ba934dc675 Add xkcd module
Added a module that opens a random xkcd comic when clicked.
2018-09-11 16:49:57 +02:00
tobi-wan-kenobi
440b5379dd
Merge pull request #291 from lucassouto/master
Add module arch-update
2018-09-09 08:11:09 +02:00
lucassouto
63bb771df2 Fix for previous versions of python 2018-09-08 18:59:55 -03:00
Lucas Souto
edee95b57a Fix code for lint 2018-09-07 22:38:15 -03:00
Lucas Souto
17131c5bdc Merge branch 'master' of git://github.com/tobi-wan-kenobi/bumblebee-status 2018-09-07 22:22:07 -03:00
Lucas Souto
c617a478bf Add module arch-update 2018-09-07 22:21:57 -03:00
Rémi Dupré
384f23c34f
Module progress: added states 2018-09-07 17:14:40 +02:00
Rémi Dupré
56426ee0a6
Added parameters to module "progress" to change bar design, changed
format keys
2018-09-07 16:48:03 +02:00
Rémi Dupré
870d4d75d5
Using progress's speed measures 2018-09-07 16:36:09 +02:00
Rémi Dupré
090306d37c
Added module progress 2018-09-07 16:17:09 +02:00
WORD559
a969fc0b75 Added parameter to pulseaudio module that allows users to specify the percentage change of the volume when scrolling on the module. 2018-09-01 14:40:18 +01:00
Frank Scherrer
62150b3030
trying to remove codeclimate complain
* Sorry, I don't have codeclimate
* did little refactoring, hope it helps.
2018-08-24 10:44:42 +02:00
Frank Scherrer
8c12daa407
add 'which' function to utils and use for 'iwgetid' 2018-08-24 10:22:28 +02:00
abdoulaye
2461621b56 docs: fix notmuch_count module doc english errors 2018-08-21 14:21:40 +02:00
abdoulaye
797230da94 feat: add notmuch count module
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/)
2018-08-21 11:56:09 +02:00
WORD559
59bca44267 Added playback status indicator to spotify module 2018-08-20 17:44:49 +01:00
WORD559
2f76df51e2 Added the media control rebinding parameters to the spotify module 2018-08-08 14:12:42 +01:00
WORD559
bffa7028d0 Added three additional parameters to deadbeef module so that the media controls can be rebound with parameters. 2018-08-08 14:08:48 +01:00
WORD559
1a272b50dd Created a module to display current playing song in DeaDBeeF media player and to allow basic media controls 2018-08-08 13:54:53 +01:00
Michael Hauser-Raspe
37929d4903 Respect autostart parameter. 2018-08-08 00:05:09 +01:00
soenke
9ef3da8b88 [modules/sensors] Prefer sensors command if available, solves #275 2018-07-30 18:25:37 +02:00
abdoulaye
f4b7f90c2a fix todo module path expansion 2018-06-30 15:56:38 +02:00
susmus
e8970f1bd4 [module/amixer] Add on/off mute check 2018-06-09 22:22:16 +02:00
Frederic Junod
841f6e131d Remove unnecessary parens 2018-06-04 15:03:39 +02:00
Frederic Junod
62f79beb90 Use 'is False' instead of '== False' 2018-06-04 14:53:01 +02:00
Frederic Junod
f46671a85f Use 'is None' instead of '== None' 2018-06-04 14:50:51 +02:00
4shadoww
403b5ddd13 added new test to check is locale defined 2018-05-31 14:12:39 +03:00
Tobias Witek
290f95d6b4 [core] Collapse modules by using middle mouse
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
2018-05-30 10:42:31 +02:00
Tobias Witek
455707c583 [core/theme] Handle errors during color loading
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
2018-05-30 09:42:41 +02:00
Tobias Witek
c99a2d253e [modules/pacman] Use slight refactoring for consistency 2018-05-13 07:15:42 +02:00
tobi-wan-kenobi
e07932892f
Merge pull request #258 from freed00m/master
[module] - adding caps/num/scrl indicator widget; pacman to sum the digits
2018-05-13 07:09:29 +02:00
Antonin Dach
8946322bd5 [modul pacman] - enable suming up all updates to save screen real estate 2018-05-12 20:23:55 +02:00
Antonin Dach
52b4bfac35 [module] - adding caps/num/scrl indicator widget 2018-05-12 19:37:19 +02:00
WORD559
841b5e0905 Fixed issue where pulseaudio module could monitor the wrong device if certain pa modules have been loaded (e.g. monitoring 'alsa_output.pci-0000_00_1b.0.analog-stereo.echo-cancel' rather than 'alsa_output.pci-0000_00_1b.0.analog-stereo' 2018-05-12 13:46:51 +01:00
WORD559
705c18dbcd Can force status bar to update early by sending a USR1 signal to the process 2018-05-06 09:31:46 +01:00
Tobias Witek
6cbf866b63 [modules/memory] Use MemAvailable, if present
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
2018-05-01 10:01:36 +02:00
Tobias Witek
7af362f5c3 [themes/ionicons] Minor tweaks 2018-04-29 21:11:58 +02:00
Tobias Witek
b858fef834 [tests] Minor adaptions to satisfy tests
* Default value for Theme() constructor
* Don't fail fatally when unable to load taskwarrior module
2018-04-29 20:45:58 +02:00
Tobias Witek
8e80923f14 [core/theme] Add option to override iconset + add experimental icons
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
2018-04-29 16:12:39 +02:00
tobi-wan-kenobi
fa9ad10549
Merge pull request #251 from kunalshetye/issue-250
Added a hidden method to hide mpd widget when no music is playing
2018-04-20 16:24:52 +02:00
Kunal Shetye
9514f1fb01 Added a hidden method to hide mpd widget when no music is playing 2018-04-20 06:34:35 +02:00
Tobias Witek
bbe4bfeebc [modules/nic] Do not fail if iwgetid is not available
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
2018-04-14 05:33:35 +02:00
tobi-wan-kenobi
0fa27cca10
Merge pull request #246 from kunalshetye/master
[module/nic] Added option to get the ssid (for wifi networks)
2018-04-14 05:23:11 +02:00
Avindra Goolcharan
56088be995
publicip: use checkip.amazonaws.com in us-east
I'm on the east coast, and on average the amazon endpoint is a bit faster. AWS is also a more well known name.
2018-04-11 21:48:17 -04:00
Kunal Shetye
fb6a9b1f7d Added option to get the ssid (for wifi networks) 2018-04-11 20:42:12 +02:00
tobi-wan-kenobi
8a95cb1b0f
Merge pull request #243 from kunalshetye/master
[module/nic] Added format parameter to control the widget output
2018-04-11 20:14:45 +02:00
Frederic Junod
b2d709ab5f Remove unused yaml import 2018-04-11 12:57:56 +02:00
Kunal Shetye
b23b97625e Added format parameter to control the widget output 2018-04-11 07:30:16 +02:00
Pavle Portic
682dcc775a
[modules/traffic] Add parameter to hide down networks 2018-04-01 19:39:14 +02:00
Tobias Witek
0c03c1c48b [core/config] Skip unavailable modules
If a module cannot be loaded (presumably, because some python modules
are missing), do not show them in the list of available modules.

fixes #237
2018-03-24 08:08:19 +01:00
Frederic Junod
95fab517c6 Update required modules list in README 2018-03-14 08:35:51 +01:00
tobi-wan-kenobi
52312b7331
Merge pull request #231 from torvitas/patch-3
fixes typo in documentation of dnf module
2018-02-14 18:24:03 +01:00
Sascha Marcel Schmidt
3febc0a473
fixes typo in documentation 2018-02-14 12:15:40 +01:00
Sascha Marcel Schmidt
604a795f9e
fixes typo 2018-02-14 12:09:11 +01:00
Tobias Witek
b77fee4af2 [modules/memory] Fix "percentage used" calculation
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
2018-02-12 20:35:50 +01:00
tobi-wan-kenobi
519dc1dafe
Merge pull request #226 from caianrais/brightness-format-fix
[modules/brightness] Fix return format
2018-02-01 18:57:34 +01:00
Tobias Witek
186169343d [engine] do not fail on module import
If a module import fails, simply log a warning. The module, clearly,
cannot be used, though.

fixes #227
2018-02-01 18:44:48 +01:00
Caian R. Ertl
a75c71920e [modules/brightness] Fix return format
What: Fixes the return format in `brightness` module
Why: To remove the initial zero in the brightness indicator when below hundred.
2018-01-31 18:52:16 -02:00
Pierre Dorbais
cc72814b83 [modules] add taskwarrior module 2018-01-30 16:58:09 +01:00
Tobias Witek
cb3a7b826b [modules/datetime] Fall back to en_US.UTF-8
If no default locale is available, fall back to en_US.UTF-8.

see #159
2018-01-21 08:55:42 +01:00
Tobias Witek
be20a36805 [core/theme] Make unittest (hopefully) run through 2018-01-17 19:29:11 +01:00
Tobias Witek
4716481087 [core/theme] Small bugfix (widget needs to have linked module)
This is mainly for the autotests
2018-01-17 18:56:12 +01:00
Tobias Witek
9f77514a1c [core/theme] Add per-module theme override
Allow users to override theme values via parameter, such as:

bumblebee-status -m spacer -p spacer.theme.bg=#ff0000

for a red spacer.

see #223
2018-01-17 18:51:01 +01:00
Tobias Witek
bf84498df3 [core/engine] handle single-module errors
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
2018-01-12 18:39:36 +01:00
Tobias Witek
04ce2de228 [modules/getcrypto] Handle missing results 2018-01-11 20:32:15 +01:00
Tobias Witek
650e0b933e Revert "[modules/getcrypto] Deal with kraken service downtime"
This reverts commit 3615e60e5b.

Time to go to sleep, so many mistakes...
2018-01-11 20:31:48 +01:00
Tobias Witek
3615e60e5b [modules/getcrypto] Deal with kraken service downtime
see #222
2018-01-11 20:29:45 +01:00
Tobias Witek
5f96b603a8 [modules/battery] fix syntax error
see #221
2018-01-11 20:26:49 +01:00
Tobias Witek
166437649c Revert "[modules/battery] Fix syntax error"
This reverts commit f236c24b92.
2018-01-11 20:26:14 +01:00
Tobias Witek
f236c24b92 [modules/battery] Fix syntax error
see #221
2018-01-11 20:22:30 +01:00
Tobias Witek
bbfb6fc095 [modules/battery] Ignore errors when reading status
Reading status - similar to reading the capacity - might fail, just
ignore that error.

see #221
2018-01-11 20:05:46 +01:00
Tobias Witek
82db0a14c1 [modules/ping] Revert changes reg. interval handling
Similarily to getcrypto, do not use the generic interval handling
for the ping module.

see #220
2018-01-07 20:41:14 +01:00
Tobias Witek
3638aa2420 [modules/various] Use new interval mechanism
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
2018-01-07 20:27:11 +01:00
Tobias Witek
776be11137 [engine] Add generic interval mechanism
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
2018-01-07 20:25:32 +01:00
Tobias Witek
a6b7e329c7 [module/stock] Error message if stock service unavailable
If the stock rate cannot be retrieved for some reason, print an error
message in the log and present the value as "n/a".

fixes #219
2018-01-07 19:37:31 +01:00
Tobias Witek
13d27d4b81 [themes] Do not automatically download symbols.json
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
2018-01-03 15:58:57 +01:00
Tobias Witek
8f44a1bf63 [modules/redshift] Do not block status line
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.
2018-01-01 08:59:21 +01:00
Tobias Witek
bac3d6bc57 [core/theme] Add FontAwesome name resolution
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 :)
2017-12-29 14:49:13 +01:00
Tobias Witek
2a95e9fcc2 [modules/redshift] Update in separate thread
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
2017-12-29 11:18:07 +01:00
Tobias Witek
63ef6b0bf8 [core/themes] Fix new theme code for Python 3.x 2017-11-26 20:05:28 +01:00
Tobias Witek
197c4c92a9 Merge branch 'theme-directories'
fixes #203
2017-11-26 19:57:31 +01:00
Tobias Witek
3fe2088d06 [tests] fix unit tests 2017-11-26 19:56:57 +01:00
Adam Dej
5766fedc46 [modules] Add zpool module 2017-11-25 13:01:59 +01:00
Tobias Witek
56b2981379 [core/themes] Fix exception on missing theme
If no theme is found, raise an exception.

see #203
2017-11-18 14:59:30 +01:00
Tobias Witek
9d81d83d37 Merge branch 'master' into theme-directories 2017-11-18 14:57:41 +01:00