Commit graph

939 commits

Author SHA1 Message Date
tobi-wan-kenobi
ff9ccee438
Merge pull request #445 from Ninpo/support-zfs-0.8.0
Support parsing zpool output for ZFS >=0.8.0
2019-09-27 19:11:37 +02:00
Alex Boag-Munroe
ffac34a51c Catch IOError for backwards compatability
FileNotFoundError is not in Python 2, catch IOError instead.
2019-09-26 23:40:41 +01:00
Alex Boag-Munroe
e44eea3318 Log when unable to ascertain ZFS version
Use established logging strategy to emit an error log when ZFS
version information cannot be obtained.
2019-09-26 23:30:06 +01:00
Alex Boag-Munroe
fd990eb4fd Don't crash when ZFS version info is unavailable
Catch the FileNotFoundError and stub the zfs version for the
script to not crash.
2019-09-26 23:22:25 +01:00
tobi-wan-kenobi
7237f95e2f
Merge pull request #444 from rotsix/master
add vault default text option
2019-09-26 20:12:34 +02:00
Tobias Witek
4a5ae622aa [core] Ignore unknown UTF-8 characters 2019-09-26 20:11:25 +02:00
Martin
a3ceada129 [module] New module pomodoro timer 2019-09-26 19:39:29 +02:00
Alex Boag-Munroe
3a2fcb1abf Support parsing zpool output for ZFS >=0.8.0
Query /sys/module/zfs/version for ZFS version and account for the
additional CKPOINT field in ZFS 0.8.0 and higher.
2019-09-26 00:25:18 +01:00
Victor Franzi
71d0fa6900 add vault default text option 2019-09-25 21:24:41 +02:00
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
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