Commit graph

793 commits

Author SHA1 Message Date
Lonesome byte
4b73ff61fa Persistent history
History is now written to disk and loaded upon startup. This way old
articles aren't listed as new after restart/reboot of Linux or i3.
2019-08-19 19:15:24 +02:00
Lonesome byte
99f3bbefcc Time-based scrolling and refreshing
When you click on other modules, the ticker may scroll faster than once
a second. This has been resolved.
Refreshing the feeds was update-tick based. This has changed to actual time
based.
2019-08-19 16:06:34 +02:00
adario7
4208db6475 Add log out, suspend and hibernate options to module system 2019-08-19 13:20:11 +02:00
Lonesome byte
b7493e8519 Newspaper
Right-clicking will open a personalized newspaper with all articles
of your feeds
2019-08-19 08:27:44 +02:00
Lonesome byte
da99ab4af5 First version 2019-08-17 17:53:40 +02:00
Lonesome byte
5d1422adab First beta version 2019-08-16 18:06:30 +02:00
tobi-wan-kenobi
0c4326eb31
Merge pull request #420 from lonesomebyte537/rss
Initial version of RSS news ticker
2019-08-16 14:09:12 +02:00
Lonesome byte
ba7e7d258d Reworked code 2 2019-08-16 10:11:22 +02:00
Lonesome byte
cf482c56c8 Bugfix in parameter parser
This bug prevented equal signs from being used in parameter values, e.g.
-p url="http://www.foo.org/?a=5"
2019-08-16 08:42:57 +02:00
Lonesome byte
d1fc0f2575 Reworked code 2019-08-15 11:58:10 +02:00
Lonesome byte
76d3b4878c Initial version of RSS news ticker 2019-08-15 10:34:14 +02:00
Lonesome byte
c13a611b4b Lowering cyclomatic complexity 2019-08-12 17:36:13 +02:00
Lonesome byte
da33d295d3 Sun module
Module that shows the sunrise and sunset time for your location.
http://ipinfo.io is used if parameter lat (latitude) or lon (longitude)
is not provided,
2019-08-12 16:40:31 +02:00
Tobias Witek
a1a339bcb7 [modules/weather] Fix exception if requests is not installed
fixes #418
2019-08-11 07:17:22 +02:00
Thaynã B. Moretti
88d0bf0776
Fix traffic icon directions 2019-08-07 22:30:55 -03:00
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