Commit graph

830 commits

Author SHA1 Message Date
WORD559
e42037ce6f Check deadbeef is running and check if stopped as part of the query
deadbeef is checked to ensure it's running before doing anything,
otherwise a lot of useless data is pulled in, and the if statement to
check whether or not the player is stopped is now integrated into the
query at startup instead of running a separate query every time.
2019-09-23 16:15:53 +01:00
WORD559
b7b0faf613 Add support for nowplaying-tf, which provides better format strings
This is added with the tf_format config, which will override format if
it is set. This makes the call "deadbeef --nowplaying-tf <tf_format>"
and displays the output directly. This output should now also support
unicode, regardless of Python version.

There is also the tf_format_if_stopped, a boolean config that
configures whether or not the tf_format output should be displayed
even if deadbeef isn't playing anything.
2019-09-23 15:12:23 +01:00
Tobias Witek
ef7cbd5c2e [core] Add alias test 2019-09-09 21:03:05 +02:00
Tobias Witek
c09ce71fce [core] Replace aliases logic with simple dict
Since aliases are so rarely used, just hardcode the list of aliases
inside the engine for now.

This combines the advantage of the speedup of the previous
implementation with the robustness of the first implementation. As
trade-off, extensibility suffers, but given the small number of aliases,
that's OK for now.

fixes #437
2019-09-09 20:17:03 +02:00
mw
ed59823ac3 Fix _resume_screensaver 2019-09-05 21:57:32 +02:00
mw
f19cf652cb Try to make codeclimate happy 2019-09-05 21:08:05 +02:00
mw
a5ef863647 Rewrite killing of xprop 2019-09-05 20:48:19 +02:00
mw
15fb6fc94d Merge remote-tracking branch 'upstream/master' 2019-09-05 20:27:04 +02:00
tobi-wan-kenobi
48a183dfe6
Merge pull request #431 from adario7/master
find aliases without importing modules
2019-09-03 18:50:18 +02:00
adario7
56c3b77d0e
put back the method all_modules
even if no longer used by `_read_aliases` it is still needed in other parts of the program.
2019-09-03 14:24:02 +02:00
mw
43988db4cc Make sure state is reverted in case of error 2019-09-02 17:26:01 +02:00
mw
43b29eedd2 Fix pylint logging warning, exclude W0212 2019-09-02 16:53:10 +02:00
mw
0b9829bc77 Make pylint happy 2019-09-02 16:42:25 +02:00
mw
4743558a68 Add fixes 2019-09-01 22:54:38 +02:00
mw
2c861a3092 Clean up 2019-09-01 22:38:22 +02:00
Martin
2cad9f2e46 [battery_all] Fixed the battery path and used os to solve for the correct paths 2019-08-30 16:05:20 +02:00
adario
b956e8e2a6 find aliases without importing modules 2019-08-28 19:08:42 +02:00
mw
b59ecc8aac PoC use double fork to escape SIGSTOP 2019-08-28 00:09:04 +02:00
mw
6652a581df PoC using xdg-screensaver's suspend mechanisms 2019-08-27 21:31:50 +02:00
mw
c05fc3ae4d Add some basic error handling in case the executables don't exist 2019-08-25 21:08:00 +02:00
mw
61fe85842a Use xdg-screensaver instead of xset 2019-08-25 20:53:42 +02:00
mw
8e28149399 Merge remote-tracking branch 'upstream/master' 2019-08-25 20:45:33 +02:00
tobi-wan-kenobi
9b7155b459
Merge pull request #429 from adario7/master
performance improvements on module 'title'
2019-08-24 19:15:02 +02:00
adario7
574735adab performance improves to module 'title' 2019-08-24 15:01:40 +02:00
mw
928895befe Merge remote-tracking branch 'upstream/master' 2019-08-24 11:40:00 +02:00
tobi-wan-kenobi
6e9cbd6fab
Merge pull request #428 from Damicristi/patch-1
added a line at 106
2019-08-24 08:11:36 +02:00
tobi-wan-kenobi
eaad41c6a1
Merge pull request #425 from basvdheuvel/sun_sunup
Order sunrise and sunset according to current time
2019-08-24 08:08:07 +02:00
Damodar Rajbhandari
ce54651330
added a line at 106 2019-08-24 01:11:12 +05:45
tobi-wan-kenobi
0db89e4c41
Merge pull request #423 from lonesomebyte537/rss_newspaper
Rss newspaper
2019-08-22 18:43:11 +02:00
Tobias Witek
15cd958c78 [modules/redshift] Make requests module optional 2019-08-22 18:39:50 +02:00
tobi-wan-kenobi
c2c195bf9c
Merge pull request #424 from basvdheuvel/redshift_location_options
Add location options to the redshift module
2019-08-22 18:37:54 +02:00
Bas van den Heuvel
9243e40b54 Order sunrise and sunset according to current time
Before sunrise, first sunrise is shown and then sunset. After sunrise,
before sunset, first sunet is shown, and then tomorrow's sunrise. After
sunset, first sunrise is shown and then sunset, both for tomorrow.
2019-08-21 22:23:01 +02:00
Bas van den Heuvel
8a765f43e2 PEP8 2019-08-21 21:20:04 +02:00
Bas van den Heuvel
ced31c3a22 Add location options to redshift module 2019-08-21 19:12:58 +02:00
Bas van den Heuvel
f9132bd7fd PEP8 2019-08-21 18:26:59 +02:00
adario
92e568c467 module system: use i3exit, add more options 2019-08-20 13:27:12 +02:00
Lonesome byte
b672543dce Separate history for ticker and newspaper
Ticker history and newspaper history are now separated.
The newspaper will mark all new items with a star since last newspaper
creation.
2019-08-20 07:39:20 +02:00
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