Commit graph

202 commits

Author SHA1 Message Date
tobi-wan-kenobi
965e7b2453 [modules/spotify] improve update mechanism
instead of updating the widget list during each update, create the list
of widgets during initialization, and later only update the widget
states.

see #702
2020-09-06 14:00:32 +02:00
tobi-wan-kenobi
7a4d4d5ab6
Merge pull request #706 from cristianmiranda/thunderbird
[modules/thunderbird]: Thunderbird's unread email counts by inbox
2020-09-06 07:13:46 +02:00
Cristian Miranda
100568206a [modules/thunderbird]: Thunderbird's unread email counts by inbox 2020-09-05 19:22:40 -03:00
Cristian Miranda
d568ef3622 [modules/dunstctl]: Toggle dunst v1.5.0+ notifications using dunstctl 2020-09-04 17:30:46 -03:00
Thaynã Moretti
6c0930cfae Add load module tests 2020-09-02 14:33:07 -03:00
Thaynã Moretti
032a651efa Improve network traffic module tests 2020-09-01 22:12:54 -03:00
Thaynã Moretti
49de0e520b Reduce code cognitive complexity 2020-08-30 12:37:58 -03:00
Thaynã Moretti
6f6f3cedd9 Improve meminfo parse logic 2020-08-30 12:28:48 -03:00
Thaynã Moretti
820598b1b8 Fix memory module tests 2020-08-30 12:11:48 -03:00
Bernhard B
c339a16365 small improvements in octoprint plugin
* octoprint sometimes returns additional information a the 3d printer is offline.
  so, it's better to check if the octoprint job state starts with "Offline".

* in case the returned job state is really long, truncate it.
2020-08-30 09:03:34 +02:00
Thaynã Moretti
dff187252a Fix RECV/SENT start values 2020-08-29 21:09:59 -03:00
tobi-wan-kenobi
905f71fa52 [core] fix broken "sparse" updates
c77f3aa accidentially broke "sparse" updates (i.e. updates that do not
trigger during each update interval).

Introduce a new update parameter, "force", to model the use case "update
everything on SIGUSR1".

fixes #692
2020-08-28 17:14:05 +02:00
tobi-wan-kenobi
362d1a5f6f [modules/contrib/dnf] fix undefined "widget" error
while refactoring, i overlooked that the variable "widget" doesn't exist
anymore.

see #692
2020-08-28 14:03:34 +02:00
tobi-wan-kenobi
db41792afb [dnf] simplify threading
use framework threading to simplify the dnf module

see #692
2020-08-27 20:07:10 +02:00
Cristian Miranda
9b5477675c [github]: Remove error printing if exception caught
I experienced that when an exception is caught and we print it
I get an ugly error on the whole bar making it unusable. This
fixes that problem.
2020-08-20 10:47:56 -03:00
tobi-wan-kenobi
738a846853 Merge branch 'master' into main 2020-08-11 20:54:23 +02:00
tobi-wan-kenobi
d759ed5051
Merge pull request #690 from joshbarrass/deadbeef-patch
Quotes around the deadbeef string to prevent parsing errors by deadbeef
2020-08-11 06:16:58 +02:00
Joshua Barrass
9e04e0a27b
Quotes around the deadbeef string to prevent parsing errors by deadbeef 2020-08-11 00:54:35 +01:00
Joshua Barrass
c77f3aa3bc
Force update using USR1 signal 2020-08-11 00:45:13 +01:00
Alexander Scheid-Rehder
5959d73cde Fix wrong usage of asbool in layout-xkb 2020-08-06 14:49:41 +02:00
Andreas Lindahl Flåten
5de616ff89 [modules/contrib/stock] handle urllib request exception
Handle exception that is raised when e.g. your network connection is
down.
2020-07-31 15:26:49 +02:00
Naya Verdier
06d6739da4
[xrandr] Add autotoggle behavior to xrandr
Also makes i3 subscription events and widget click live-update
2020-07-26 13:21:49 -07:00
Naya Verdier
b1adc382aa
[vault] Turns out, <Leave> is triggered when going into a submenu 2020-07-25 12:38:28 -07:00
Naya Verdier
647ad44b31
ModuleNotFoundError incompatible with python 3.4, 3.5 2020-07-25 11:50:13 -07:00
Naya Verdier
22d85d6d1d
[xrandr-test] Catch all exceptions if i3 Subscription fails 2020-07-25 11:33:42 -07:00
Naya Verdier
b14eae4d6c
[xrandr] add safeguard to prevent turning off the only display 2020-07-25 10:52:57 -07:00
Naya Verdier
5874850bd5
[xrandr] Fix neighbor functionality when some displays are excluded 2020-07-25 10:52:10 -07:00
Naya Verdier
8f57bb952d
[xrandr] add exclude parameter to ignore certain display prefixes 2020-07-25 08:47:31 -07:00
Naya Verdier
5f2857ad9a
[vault] add leave_menu parameter to auto-close the menu 2020-07-25 08:46:57 -07:00
Naya Verdier
4aff0499f0
[util.popup] Deduplicate code, "close" button only if leave=False 2020-07-25 08:43:26 -07:00
tobi-wan-kenobi
7c8ddc9c87 [doc] update docstrings as per PR #683 2020-07-18 08:23:28 +02:00
tobi-wan-kenobi
72966ee37d [modules/{cpu,load,memory}] Add gnome-system-monitor dependency to doc 2020-07-18 08:16:57 +02:00
tobi-wan-kenobi
df29627983 [core/doc] add autogenerated warning to modules.rst 2020-07-18 08:14:23 +02:00
tobi-wan-kenobi
83a4be3bc0 [doc] add module portage_status (plus attribution) 2020-07-12 19:31:28 +02:00
Andrew Reisner
b1bb0fe690
Run formatter. 2020-07-12 11:01:00 -06:00
Andrew Reisner
0785202860
Add simple portage status module.
This adds a simple module to display the status of Gentoo portage
operations by reading its logfile.
2020-07-12 10:52:05 -06:00
tobi-wan-kenobi
5ea2708f45
Merge pull request #681 from bbernhard/messagereceiver
reworked messagereceiver module
2020-07-11 19:33:42 +02:00
Bernhard B
a4a622252b reworked messagereceiver module
* use bumblebee's internal threading capabilities
* various small code improvements (pylint)
2020-07-11 18:07:57 +02:00
tobi-wan-kenobi
2b888325a6 [doc] add messagereceiver (+ attribution) 2020-07-10 20:19:43 +02:00
Bernhard B
01cde70e14 improved documentation of messagereceiver module 2020-07-10 17:35:40 +02:00
Bernhard B
adbba9bf9a fixed small bug in messagereceiver
* wrong logging syntax
2020-07-10 17:17:16 +02:00
Bernhard B
0067ce83f0 added new module messagereceiver
* binds to unix sockets and listens for incoming messages. The message
  will then be displayed in the status bar.
2020-07-10 17:11:50 +02:00
tobi-wan-kenobi
72045b2318 [core/config] make configurable module list work
configparser doesn't seem to have direct array support,
so use format.aslist() to get a list of modules

fixes #678
2020-07-09 07:04:45 +02:00
tobi-wan-kenobi
a9f50f1b51 [core/config] add "core" config section
move theme and modules into a "core" config section
2020-07-09 07:04:22 +02:00
tobi-wan-kenobi
057f894d52 [core/config] change preferred theme source
now, it works like this:

- if present, use what's on the CLI
- if not, use what's present in the config
- fallback is "default"

see #679
2020-07-09 06:56:43 +02:00
ColdFire
aac2316d74
Updating config parser 2020-07-06 14:20:41 +05:30
Andrew Reisner
edb8eaf410
Small fix to xrandr module. 2020-07-05 12:35:44 -06:00
tobi-wan-kenobi
b4fc88b57e
Merge pull request #675 from xsteadfastx/iw
[modules/nic] Using `iw` to find out whats the SSID name
2020-06-30 20:20:17 +02:00
Marvin Steadfast
6d9d325eca [modules/nic] Using iw to find out whats the SSID name 2020-06-30 14:49:43 +02:00
tobi-wan-kenobi
f75f1a9f26 [modules/spotify] fix layout parameter 2020-06-30 07:20:54 +02:00
tobi-wan-kenobi
227a23fdb5 [core/theme] fix mergeing of iconsets
iconsets should only overwrite parameters that are *not* set in the main
theme file.

fixes #666
2020-06-29 20:07:24 +02:00
tobi-wan-kenobi
9136ebd321 [core/input] clear previous input registrations
make sure that for a given event (widget/object/module, whatever), only
a *single* input event per button can be registered at one time.

the problem otherwise is with modules that re-register their widgets
with the same IDs (cmus, spotify, etc.): Each time the widget is
re-created (each intervall, typically), it re-registers an input event,
creating an always longer list of callbacks being executed when the
button is clicked (not speaking of the memory leak this introduces).

fixes #668
2020-06-29 07:44:22 +02:00
gkeep
134bbbd743 Use icons depending on widget state and icon set 2020-06-29 00:57:01 +03:00
tobi-wan-kenobi
6b09be1993 Revert "[core/theme] Make theme iconsets *not* override settings"
This reverts commit 320bba97d0.
2020-06-28 20:09:55 +02:00
tobi-wan-kenobi
320bba97d0 [core/theme] Make theme iconsets *not* override settings
Make sure that iconsets used as part of a theme do *not* override
anything already existing inside the theme.

Only iconsets that are manually specified can override settings in the
theme now (because those, you typically specify on the CLI).

TODO: Write unit test for this

fixes #666
2020-06-28 20:01:08 +02:00
tobi-wan-kenobi
8f3d48c0e6 [modules/brightness] re-enable reading brightness from ACPI
to enable reading the brightness from ACPF, set the device path and -
other than previously - explicitly enable this by setting the parameter
"brightness.use_acpi" to "true".

fixes #665
2020-06-28 11:00:51 +02:00
tobi-wan-kenobi
fc8783ee13 [util/cli] fix CLI invokation for sway
in sway/wayland, make sure that the wayland socket is cleared, which
seems to cause issue for some unspecified reason.

also, while at it, improve code so that the environment dict that is
passed in is *not* modified.

fixes #628
2020-06-28 10:44:30 +02:00
tobi-wan-kenobi
350648b0cd [util/location] reverse location providers
seems that ipapi gives better results wrt. location
2020-06-27 15:05:57 +02:00
tobi-wan-kenobi
954d7545e3 [util/format] make temperature metric case insensitive
see #664
2020-06-27 15:02:55 +02:00
tobi-wan-kenobi
4925e09995 [modules/speedtest] no autostart, improve icons
do not start a speedtest automatically during startup, and improve the
icons a bit.
2020-06-26 09:40:35 +02:00
tobi-wan-kenobi
4ac8c2ef7a [modules/speedtest] small fix for retrigger 2020-06-25 20:46:13 +02:00
tobi-wan-kenobi
44b3df5827 [modules/speedtest] make speedtest re-triggerable 2020-06-25 20:44:55 +02:00
tobi-wan-kenobi
72deb7eaf8 [modules] add speed test module 2020-06-25 20:34:35 +02:00
tobi-wan-kenobi
e9b917c214 [doc] update spotify 2020-06-25 20:00:57 +02:00
tobi-wan-kenobi
542d841622 [modules/spotify] add contribution 2020-06-25 20:00:05 +02:00
tobi-wan-kenobi
54f6035e14
Merge pull request #663 from LtPeriwinkle/spotify-buttons-module
Spotify buttons module
2020-06-25 19:56:21 +02:00
LtPeriwinkle
4cbe04f0b0 remove -buttons, move getting song out of update() 2020-06-25 10:53:53 -07:00
LtPeriwinkle
057faa5577 replace original spotify with buttons version 2020-06-25 10:23:45 -07:00
LtPeriwinkle
6a8d830281 util.format.aslist() for layout 2020-06-25 10:20:02 -07:00
LtPeriwinkle
4b54d1981c fix grammar 2020-06-24 13:53:02 -07:00
LtPeriwinkle
7215a11ffe black -t py34 2020-06-24 12:22:03 -07:00
LtPeriwinkle
e1a9782458 modify comments 2020-06-24 12:18:28 -07:00
LtPeriwinkle
0c32d13e6f fix playback status 2020-06-24 12:15:32 -07:00
LtPeriwinkle
2eee4c390c put text on buttons 2020-06-24 12:14:26 -07:00
Tobias Witek
92ab1a3e00 [util/cli] make sure language is set to "C"
to make parsing of CLI output reliable (i.e. always in english), set
LC_ALL accordingly.

see #662
2020-06-24 07:47:31 +02:00
Tobias Witek
441e7d5041 [core] fix minimize for all modules (nic, traffic, etc.)
make it possible to toggle the display state of a widget between
"displayed" and "minimized" also for modules that re-create their
widgets during each iteration.

see #661
2020-06-23 20:03:17 +02:00
Tobias Witek
34dadadf90 [core] re-enable minimize of widgets
by default, allow toggling the minimized state of a widget via the
middle mouse and draw a single unicode char instead of the actual
widget, maintaining all states.

fixes #661
2020-06-23 15:51:14 +02:00
tobias.hannaske
3558176044 Do not execute iwgetid if the interface is recognized as tunnel 2020-06-22 10:33:49 +02:00
LtPeriwinkle
ca62f68906 create + map widgets for buttons 2020-06-21 12:31:11 -07:00
LtPeriwinkle
f67ef9d64a add spotify-buttons 2020-06-21 10:28:37 -07:00
es80
e17ef8614f
fix a regression for shell subprocess 2020-06-21 17:56:52 +01:00
Tobias Witek
b2e92d816d [tests] add pytest for core.output
see #642
2020-06-20 14:51:49 +02:00
Tobias Witek
542d235c1a [modules/traffic] ignore all errors during update
to investigate whether the assumption that a stray exception causes
issues is correct, temporarily catch all errors.

see #655
2020-06-20 13:52:55 +02:00
tobi-wan-kenobi
1ebbfbae14 [doc] add dev documentation on widget states
fixes #651
2020-06-09 20:45:54 +02:00
tobi-wan-kenobi
16269ff01e [core/input] add variables to custom cli calls
when specifying event bindings via CLI (e.g. disk.left-click=thunar),
allow for variables ({instance} and {name}, in particular).

fixes #650
2020-06-09 20:29:51 +02:00
tobi-wan-kenobi
a394469c0f
Merge pull request #646 from smitajit/master
[module] playerctl to displays information about the current song in …
2020-06-06 16:01:05 +02:00
tobi-wan-kenobi
ba82f5a50f [core/theme] Fix loading of iconsets
* First, make iconsets override anything already present in the "base"
configuration
* Second, make sure that CLI provided iconsets have higher priority than
"built-in" ones

see #648
2020-06-06 15:59:19 +02:00
smitajit
2dff5e2de7 migrated playerctl script to new bumblebee_status APIs 2020-06-06 14:39:50 +02:00
tobi-wan-kenobi
034e8eefb9 [core/theme] make iconsets take precedence over "main" theme
see #648
2020-06-05 20:10:50 +02:00
tobi-wan-kenobi
cb9a60668a [core/theme] Fix detection of "best matching theme"
Previous code accepted the "first" hit in a theme - particularly, if a
module is called "A" and a *different* module "B" uses "A" as state, a
widget of module B with state A would be themed as *module* A, wrongly.

Essentially, made sure that the last (most specific) themeing "wins".

fixes #647
2020-06-04 20:56:31 +02:00
Smitajit Biswal
4912fcc57b [module] playerctl to displays information about the current song in vlc, audacious, bmp, xmms2, spotify and others 2020-06-03 21:50:36 +02:00
tobi-wan-kenobi
23d7222576 [core/theme] take alias into consideration when themeing
see #643
2020-06-03 07:59:09 +02:00
tobi-wan-kenobi
20866ca7c0 [modules/arch-update] perform update in background 2020-06-03 07:51:44 +02:00
tobi-wan-kenobi
cb30b7175d [tests] update test_config for pytests
see #642
2020-06-02 20:34:49 +02:00
tobi-wan-kenobi
800d603c1f
Merge pull request #644 from ammgws/patch-1
contrib/apt: amend typo
2020-06-02 20:15:32 +02:00
tobi-wan-kenobi
5e40dfb28a [all] small fixed picked up by pytest
- unicode stuff
- make all regexps regex strings
2020-06-02 20:13:39 +02:00
Jason
cd0d97791e
contrib/apt: amend typo 2020-06-02 23:20:20 +09:00
tobi-wan-kenobi
9cadcee844 [core/events] simplify args/kwargs detection 2020-06-01 11:35:26 +02:00
tobi-wan-kenobi
d38a21983c [modules/ping] Use framework background update functionality
see #640
2020-05-30 17:25:47 +02:00
tobi-wan-kenobi
547874dafd [core/module] allow modules to perform updates in background
a module can now set `self.background = True` in its `__init__()` method
to make sure its update method is invoked in a separate thread.

also, do a PoC implementation of this for the github module.

TODO: add this to dev doc

see #640
2020-05-30 17:22:02 +02:00