Commit graph

286 commits

Author SHA1 Message Date
Marco Genasci
8a50eb6f81 New module emerge_status
Display information about the currently running emerge process.

Signed-off-by: Marco Genasci <fedeliallalinea@gmail.com>
2022-01-06 08:06:57 +01:00
Lukas Lüftinger
8991bba90e Silence exceptions in the spotify module which may write large amounts of logs to ~/.xsession-errors 2021-12-28 00:34:10 +01:00
Yufan You
973dd6117e
[contrib/playerctl]: don't log when no player is found
`playerctl status` returns 1 when no player is found, which caused
contrib/playerctl to log many times when there's no player.
2021-12-17 18:07:45 +08:00
tobi-wan-kenobi
26e4bdd7eb [modules/progress] improved autohide functionality
Simplify the previous autohide functionality by adding a flag that lets
a module (e.g. progress) indicate that the current state should be
"revealed" (not auto-hidden).

This vastly simplifies the implementation.

see #835
2021-11-06 08:21:08 +01:00
tobi-wan-kenobi
5ad211f862 Revert "[contrib/progress] allow hiding of inactive state"
This reverts commit cbd989309d.
2021-11-06 08:17:18 +01:00
tobi-wan-kenobi
cbd989309d [contrib/progress] allow hiding of inactive state
Add a new "hide-able" state "mayhide" that can be utilized by modules
without warning state. This state indicates that the module *may* be
hidden by autohide, if the user configures it like this.

see #835
2021-11-05 14:00:34 +01:00
Jan Fader
dced20bf89
refactor code to decrease cognitive complexity in update 2021-10-26 19:52:42 +02:00
Jan Fader
fdc9b78967
add new solaar.py for logitech's unifying devices 2021-10-26 19:27:02 +02:00
alexcoder04
6b31cdb698 [modules/sensors] use util.format.asbool() + auto-check only if no path is specified 2021-10-21 14:43:15 +02:00
alexcoder04
0dc6a95ac2 [modules/sensors] auto-determine the correct thermal zone 2021-10-21 13:45:40 +02:00
Thaynã Moretti
b5395fe764 chore: public toggle method 2021-10-11 19:16:14 -03:00
tobi-wan-kenobi
ed5a4e61e4 [modules/bluetooth] Add more error checking
Do not kill the bar when the dbus-send command fails.

see #818
2021-09-10 12:45:11 +02:00
Tom Saleeba
d4339f6e43 fix: correct mem usage to be mem *io* usage 2021-08-15 22:27:44 -06:00
Soykan Ertürk
05f76c0d9a
Update todo.py 2021-08-14 20:16:45 +03:00
Soykan Ertürk
5a1addec7f
Fixing a small bug on todo module
todo counts new lines (blank lines) as todo and increments todo count. After my fix todo doesn't counts blank lines.
2021-08-14 20:14:54 +03:00
Soykan Ertürk
473d2fbd14
Improving docs
I added tkinter as dependency in requirements.
2021-08-12 22:54:34 +03:00
Tom Saleeba
98c92bb78f feat: add GPU usage % and GPU memory usage % to nvidiagpu 2021-07-24 15:18:04 -06:00
nepoz
5d80a5a1a0 Slight refactoring to try and break apart networkmethod 2021-07-09 00:28:00 -05:00
nepoz
48501fa534 Updated docstring 2021-07-08 23:00:57 -05:00
nepoz
f9017c3a38 Added more tests and exception handling 2021-07-08 22:55:23 -05:00
nepoz
2100a7cfdb Set up initial testing framework for network module 2021-07-08 12:10:46 -05:00
nepoz
3f524ab371 Refactoring, making use of netifaces 2021-07-08 09:04:40 -05:00
nepoz
911230c659 first complete implementation of the network module 2021-07-05 13:54:28 -05:00
nepoz
c7df1926dc Formatting fixes, fixed state management and added some icons 2021-07-05 13:09:17 -05:00
nepoz
448ab6de83 Functional display for wireless connection 2021-07-05 12:34:42 -05:00
nepoz
4987c7d3e2 added stateful behavior 2021-07-05 11:26:46 -05:00
nepoz
f141b95d8f Basic functionaly for dealingn with signal strength 2021-07-05 10:29:37 -05:00
nepoz
1232c4d960 Initial commit -- give basic message about interface being used 2021-07-05 07:55:47 -05:00
Sayan Sil
4485b65722
Use the existing util.cli module 2021-06-30 11:31:42 +05:30
Yufan You
37ccbd7f4a
[modules/playerctl]: support the stopped status 2021-06-26 18:19:24 +08:00
Sayan
e5007a5729 Add active gpu module using optimus-manager 2021-06-24 23:17:35 +05:30
Yufan You
c4046d0cd2
[doc]: link to the README instead of manpage 2021-06-11 18:12:13 +08:00
Yufan You
51f68addcd
[modules/playerctl]: BREAKING: use playerctl -f and add playerctl.args
1. Use `playerctl -f` to format, which is more powerful. This also fixes
   #767, which is caused by missing a few fields of the metadata.
2. Add `playerctl.args`, so that users can choose a specific player,
   etc.
3. Display nothing when there's no running player.

This is a breaking change. Users need to change `{title}` to
`{{title}}`.
2021-06-11 17:38:46 +08:00
tobi-wan-kenobi
4b6b4b9052 [core] add custom minimizer capability
Add a new set of parameters to allow modules to be customly minimized.

It works like this: If a module has the parameter "minimize" set to a
true value, it will *not* use the built-in minimizer, and instead look
for "minimized" parameters (e.g. if date has the "format" parameter, it
would look for "minimized.format" when in minimized state). This allows
the user to have different parametrization for different states.

Also, using the "start-minimized" parameter allows for modules to start
minimized.

Note: This is hinging off the *module*, not the *widget* (the current,
hard-coded hiding is per-widget). This means that modules using this
method will only show a single widget - the first one - when in
minimized state. The module author has to account for that.

see #791
2021-05-24 12:56:02 +02:00
tobi-wan-kenobi
dfd23a44de [modules/layout] add a new - generic - layout module
Add a new module "layout" that will eventually evolve into the only
keyboard layout module.

Right now, it uses an external binary (get-kbd-layout) to determine the
layout of a keyboard device (because I did not manage to call libX11
with ctypes correctly).

see #788
see #790
2021-05-16 21:09:58 +02:00
tobi-wan-kenobi
902288f30d [modules/sensors] do not truncate temperature
use strip() instead of a sub-list to get the value for the temperature.

fixes #787
2021-05-11 11:23:06 +02:00
tobi-wan-kenobi
9e20b48cee
Merge pull request #789 from fredj/sun_param_fix
Fix parameters name for the sun module
2021-05-10 17:46:24 +00:00
Frederic Junod
046b950b8a Fix parameters name for the sun module 2021-05-10 14:35:34 +02:00
tobi-wan-kenobi
10c169af8a [modules/core/cpu] optionally add per-cpu widget
if the parameter "percpu" is set to true, create one widget per cpu, and
also handle warning/error state on a per-widget basis.

see #785
2021-04-27 17:17:13 +02:00
tobi-wan-kenobi
8001ed3ada [modules/cpu] Add per-cpu mode
By explicitly setting "cpu.percpu=True" as parameter, it is now possible
to get the CPU utilization on a per-cpu basis.

Future extension: One widget per CPU (add ID of CPU and add
warning/error state on a per CPU basis)

see #785
2021-04-27 17:16:54 +02:00
tobi-wan-kenobi
4a6be622a8 [modules/rotation] fix widget creation
each iteration of the rotation module created new/duplicate widgets,
causing a status bar of infinite length.

fixes #782
2021-04-03 19:29:40 +00:00
tobi-wan-kenobi
0410ac9c6b [doc/shortcut] better example for shortcut module 2021-04-03 19:24:01 +00:00
jslabik
7756eaaa31 Adding the ability to change the editor to module todo 2021-03-20 01:18:46 +01:00
tobi-wan-kenobi
e560649531 [modules/shell] remove obsolete event handlers
modules are now automatically updated when clicked.

fixes #776
2021-03-18 15:30:03 +01:00
tobi-wan-kenobi
4187bddad6 [modules/shell] do not default to "makewide"
to avoid unnecessarily wide shell modules, set "makewide" to false, if
it is not set at all.

fixes #775
2021-03-18 15:29:06 +01:00
tobi-wan-kenobi
868502d62e [modules/keys] add missing modules
forgot to add in the previous commit
2021-03-13 14:04:42 +01:00
Frederic Junod
0ff49ac7d5 [doc] Remove requests dependency in stock module
The module is using `urllib.request`
2021-03-02 17:00:14 +01:00
Michal Cieslicki
6d7934f0fe Add code to enable scrolling of shell module output 2021-02-26 18:02:47 +01:00
tobi-wan-kenobi
6e3caa6f14 [modules/shortcut] fix typo
fixes #760
2021-02-12 09:31:09 +01:00
tobi-wan-kenobi
0734c970b0 [modules/hddtemp] fix typo
fixes #761
2021-02-12 09:30:24 +01:00
tobi-wan-kenobi
406eadeac7 [modules/time] update once per second
fixes #676
2021-01-17 15:35:39 +01:00
tobi-wan-kenobi
0e37d6cbf2
Merge pull request #754 from gkeep/playerctl-improvements
[modules/playerctl] Add format and layout parameters
2020-12-27 17:58:33 +01:00
gkeep
b74ebce702 [modules/playerctl] Small fix 2020-12-27 19:12:36 +03:00
gkeep
436cea8f37 [modules/playerctl] Add format and layout parameters 2020-12-27 19:02:45 +03:00
gkeep
601b2115ce Add initial spotifyd compatibility 2020-12-18 13:56:26 +03:00
tobi-wan-kenobi
cd851340e2 [pip] updated/fixed dependencies
many thanks to @jayvdb for pointing those out!

fixes #741
2020-12-02 21:21:34 +01:00
Florian Eich
3c08eafa4a Add TiB to disk units, add SI unit option for disk space 2020-12-02 19:08:45 +01:00
tobi-wan-kenobi
a8d1254e06 [modules/nic] Make regex for SSID a raw string 2020-12-01 15:58:55 +01:00
Florian Eich
de01d96b91 Change iw call in module nic from link to info 2020-12-01 00:19:17 +01:00
tobi-wan-kenobi
d0ee1b06e4 [modules/nic] make exclude list regular expression capable
Allow the usage of regexps in the exclude list, but keep the "this is a
prefix" logic for backwards compatibility.

should address (see #738)
2020-11-30 17:21:17 +01:00
James Baumgarten
02465ea0c2 add rofication module 2020-11-23 20:44:17 -08:00
Tobias Witek
08ef42834e [modules/nic] update documentation to include iwgetid
fixes #734
2020-11-13 14:56:31 +01:00
tobi-wan-kenobi
0fc1782e0b
Merge pull request #733 from martindoublem/main
[module] Improved smartstatus with combined_singles
2020-11-06 12:36:33 +01:00
Martin Morlot
a811c9c886 [module] Improved smartstatus with combined_singles
Added combined_singles as way to detect the drives that are permanently inside your machine and not plugged via USB.

As USB flash drives without smartstatus sometime caused the module to crash.
2020-11-06 12:14:56 +01:00
Joe Finney
9b82e736a0
Fix arch-updates off-by-one.
There's a newline in the output so this overcounts by one.
2020-10-25 17:29:00 -07:00
Joachim Mathes
3c0499ba56 Provide alternative dunstctl implementation 2020-10-18 21:53:47 +02:00
tobi-wan-kenobi
68bd6f8ef8
Merge pull request #727 from w1kl4s/master
Fix Python 3.9 compatibility
2020-10-14 18:30:56 +02:00
w1kl4s
1a7ae9ecc6 Fix Python 3.9 compatibility
Replaced threading.Thread.isAlive() with threading.Thread.is_alive()
2020-10-14 18:07:29 +02:00
Martin Morlot
1912f3053d [Bluetooth2] fixed the execution of the toggle state 2020-10-09 10:59:59 +02:00
Thaynã Moretti
04a2ea438b Create layout-xkbswitch tests 2020-10-07 17:37:04 -03:00
Thaynã Moretti
180a87e0c3 Create dunstctl tests 2020-10-05 20:10:01 -03:00
tobi-wan-kenobi
1751e4afa2
Merge pull request #718 from joshbarrass/spotify
Add "concise controls" to Spotify module
2020-10-04 16:54:42 +02:00
Joshua Barrass
fbe5764313
Add "concise controls" to spotify module 2020-10-04 15:41:15 +01:00
Joshua Barrass
823a57d261
Add org-mode TODO module 2020-10-04 14:44:27 +01:00
Thaynã Moretti
4df495601a Create symbolic links 2020-10-01 19:10:46 -03:00
tobi-wan-kenobi
8a4fc40947 Revert "[modules/spotify] properly initialize widgets"
This reverts commit aa6238a5c6.
2020-09-15 20:27:50 +02:00
Tobias Witek
aa6238a5c6 [modules/spotify] properly initialize widgets
see #702
2020-09-13 11:19:05 +02:00
Tobias Witek
fcbb89db90 [modules/spotify] make global dbus object
instead of creating a new dbus instance during each update interval,
reuse one dbus instance.

see #702
2020-09-13 11:17:21 +02:00
tobi-wan-kenobi
070fe865dd [modules/spotify] update in the background
to rule out issues in the dbus communication, update the spotify module
in the background.

see #702
2020-09-09 14:15:16 +02:00
tobi-wan-kenobi
b79c19b616 [modules/spotify] fix song not shown issue
the previous commit accidentially removed the song display. re-add that
and also add a bit of logging for troubleshooting.
2020-09-06 14:27:17 +02:00
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
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
Joshua Barrass
9e04e0a27b
Quotes around the deadbeef string to prevent parsing errors by deadbeef 2020-08-11 00:54:35 +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
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
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
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
gkeep
134bbbd743 Use icons depending on widget state and icon set 2020-06-29 00:57:01 +03: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
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.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
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
smitajit
2dff5e2de7 migrated playerctl script to new bumblebee_status APIs 2020-06-06 14:39:50 +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
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