Tobias Witek
5551eb1d74
[modules/traffic] Use boolean util methods
...
see #171
2017-09-10 09:16:21 +02:00
Tobias Witek
b8bfc5b889
Merge branch 'patch-2' of git://github.com/batman-nair/bumblebee-status into batman-nair-patch-2
2017-09-10 09:14:00 +02:00
Arjun Nair
a6d7653873
Added parameter showname to hide network interface
...
Becomes a needless info for personal laptop usages where only one interface is used.
2017-09-10 00:23:41 +05:30
Arjun Nair
dc85a8e936
Removed returning n/a
...
Better not to show
2017-09-09 23:26:39 +05:30
Tobias Witek
a08db28da0
[modules/currency] Fix runaway docstring
2017-09-07 16:22:30 +02:00
Tobias Witek
f7555f8d6b
[modules/currency] Add documentation and screenshot
...
see #169
2017-09-07 16:19:37 +02:00
Tobias Witek
4ebce517cc
[modules/currency] Use unicode strings
...
see #169
2017-09-07 16:16:35 +02:00
Tobias Witek
86de505cda
[modules] rename fx to currency
...
see #169
2017-09-07 16:10:22 +02:00
Antonis Karamitros
975027820f
Add an fx module to track GBP/EUR and GBP/USD
2017-09-07 12:54:29 +01:00
Tobias Witek
a9ae3c5ed4
Merge branch 'master' of github.com:tobi-wan-kenobi/bumblebee-status
2017-09-07 05:12:06 +02:00
Tobias Witek
b2d0979050
[core/input] Ignore errors during callbacks
...
If a callback command cannot be executed, do not terminate the whole
bar. Furthermore, if such a failure occurs, try to fall back to a
globally (i.e. non widget-specific) command, so that callbacks
registered in the engine itself (such as mouse-wheel scrolling) still
function properly.
fixes #166
2017-09-07 05:10:47 +02:00
Elin Angelov
9ab02cb92b
fix: exception occurred when screen is locked
2017-08-21 10:37:38 +03:00
Tobias Witek
93768e3380
[doc] Updated README.md + small logging refactor
...
* Fix minor grammatical errors in README.md
* Make logfile configuration a bit nicer
2017-08-20 10:59:39 +02:00
Tobias Witek
919dfdd6e1
[modules/cmus] Remove accidential print
2017-08-20 10:44:38 +02:00
Tobias Witek
f7f6783659
[modules/cmus] Fix Python3 compatibility issue
2017-08-19 16:33:42 +02:00
Tobias Witek
d2bef950ba
[modules/cmus] Fix missing position/duration
...
Wrong parameter was used as key value, so position and duration were
missing.
2017-08-19 16:23:38 +02:00
Tobias Witek
054ad96ec2
[modules/getcrypto] Simplify code a bit
...
Make codeclimate happy...
2017-08-19 16:14:42 +02:00
Tobias Witek
5e007acb5c
[modules/cmus] Refactor and simplify code
2017-08-19 16:07:52 +02:00
ibrokemypie
6bbeb416f8
[Modules/mpd] Add MPD host parameter
...
MPC uses localhost by default, but some configurations require otherwise.
Default behaviour is unchanged.
2017-08-17 17:21:42 +10:00
Tobias Witek
9619f7a754
[modules/datetime] Fix for Python3
2017-08-12 17:13:02 +02:00
Tobias Witek
9f69cc6ae9
[core] Add ability to "hide" a module with all its widgets
...
* A module can override the method "hidden" to specify when all it's
widgets should be hidden.
* Implement hidden for cmus and spotify
* Fix problem that cmus widgets were not displayed correctly
fixes #157
2017-08-12 17:03:04 +02:00
Tobias Witek
8376e406e5
[modules/datetime] Add encoding for locale
...
When creating the date/time string, use the locale's preferred encoding
to format the string.
hopefully, this
fixes #158
2017-08-12 16:44:17 +02:00
Tobias Witek
474da05929
[modules/datetime] Simplify locale logic
...
see #156
2017-08-07 18:32:02 +02:00
Naya Verdier
7e1e020443
[module/datetime] Fix case when no locale is set
2017-08-06 11:46:05 -07:00
Naya Verdier
aa9941ceda
[module/datetime] Add locale parameter to override system default
...
This change mostly affects the %x and %X variables, for example to
change to 24 hour time you might set the locale to 'en_UK.UTF-8'.
2017-08-06 11:29:41 -07:00
Frederic Junod
2183b229e3
[module/spotify] Add new format string parameter
2017-08-04 11:37:31 +02:00
Tobias Witek
e763b55b86
[modules/disk] Backwards compatibility
...
Add support for showUsed, showSize and showPercent, but mark them as
deprecated.
see #151
2017-08-02 05:52:53 +02:00
kymon
2fcff4c2c9
disk module enhancement
2017-08-01 17:06:11 +02:00
Frederic Junod
9be1dbc1e0
[module/battery] Simplify remaining time computation
...
The `power` module already return a special value on AC: `power.common.TIME_REMAINING_UNLIMITED`
2017-07-30 08:59:50 +02:00
Tobias Witek
77b962a2f5
Merge branch 'master' of github.com:tobi-wan-kenobi/bumblebee-status
2017-07-29 14:25:59 +02:00
Vidyu Krastev
216ef815c7
Locale for datetime module
2017-07-27 16:01:56 +02:00
Tobias Witek
115f03cb0f
[module/battery] Add remaining time, if available
...
Add remaining time directly to widget, if available, and if not on
charge.
see #146
2017-07-26 16:41:30 +02:00
Frederic Junod
78adbc0b4a
[module/github] Add pagination support
...
The GitHub API returns 50 items per page.
2017-07-25 06:52:39 +02:00
Rafael Cavalcanti
eb0035fdd0
Add click events to Spotify module
2017-07-24 11:19:39 -03:00
Tobias Witek
6a0578d2c3
[modules/battery] Incorporate @yvesh's estimated time remaining
...
Move changes proposed by @yvesh to show the remaining battery time into
the battery module.
see #146
2017-07-23 18:45:07 +02:00
Tobias Witek
a312269240
[modules/sensors] Add fallback for temperature retrieval
...
If /sys/class/ data cannot be read, fall back to "sensors -u", by
popular demand :P
see #145
2017-07-22 11:44:56 +02:00
ibrokemypie
58298d5e30
[modules/sensors] Remove sensors dependency and read from device
...
was having some problems with the current implementation as i have multiple values with the same name in sensors -u.
this way it is unambiguous and *should* just work everywhere with no lm_sensors required, though some distros might move the pseudo file elsewhere, not sure, but thats why it is configurable.
testing would be great.
also, the file is simpler too.
2017-07-19 22:14:00 +10:00
tobi-wan-kenobi
14f0af373c
Merge pull request #143 from fredj/memory_format
...
[module/memory] Add new format string parameter
2017-07-15 10:32:57 +02:00
Frederic Junod
37434aa5e5
[module/memory] Add new format string parameter
2017-07-15 09:48:23 +02:00
Frederic Junod
c2f9b2634a
[module/getcrypto] Use bumblebee.util.asbool for the boolean parameters
2017-07-15 08:36:33 +02:00
Tobias Witek
5ca9ab796d
[engine] Add logging for configuration file
...
For troubleshooting.
see #138
2017-07-14 17:11:20 +02:00
Frederic Junod
effea548ce
[engine] Use RawConfigParser instead of SafeConfigParser
...
To allow percent signs in the config file
2017-07-14 09:33:24 +02:00
Frederic Junod
fe9c2835ad
[engine] Add debug logging
2017-07-14 09:33:24 +02:00
Tobias Witek
ab989d8ddf
[engine] Allow config parameter fallback to config file
...
If a configuration parameter is *not* specified with -p on the
commandline, look for a INI style configuration file as fallback in
~/.bumblebee-status.conf or ~/.config/bumblebee-status.conf.
Section must be "module-parameters", like this:
[module-parameters]
github.token=<your github token>
fixes #138
2017-07-12 18:37:59 +02:00
tobi-wan-kenobi
8941f60572
Merge pull request #133 from fredj/battery_click
...
[module/battery] Open gnome-power-statistics on left click
2017-07-08 09:10:33 +02:00
tobi-wan-kenobi
c93c03eb15
Merge pull request #134 from fredj/doc_debug_file
...
Fix doc about the debug file location
2017-07-08 09:09:41 +02:00
Frederic Junod
dc5e657bc3
[module/github] Doc for github.token OAuth scope
2017-07-08 08:27:59 +02:00
Frederic Junod
30ea9e2e69
[module/github] Refresh on right click
2017-07-08 08:22:52 +02:00
Frederic Junod
1252a548a0
Fix doc about the debug file location
2017-07-08 08:12:16 +02:00
Frederic Junod
d8018db2c2
[module/battery] Open gnome-power-statistics on left click
2017-07-08 07:07:00 +02:00
Frederic Junod
b0268a412b
Add bumblebee.util.asbool function
...
Harmonize the boolean parameter value. Now `t`, `true`, `y`, `yes`, `on`, `1` are considered truthy and
everything else falsy.
2017-07-08 06:56:20 +02:00
tobi-wan-kenobi
ccc952b12c
Merge pull request #126 from fredj/spelling
...
[module/pacman] Fix spelling
2017-07-07 17:44:25 +02:00
Frederic Junod
7abe3b7918
[module/github] Fix requirements for GitHub module
2017-07-07 17:25:02 +02:00
Frederic Junod
a834a7d356
[module/pacman] Fix spelling
2017-07-07 17:16:07 +02:00
tobi-wan-kenobi
1b95f55851
Merge pull request #123 from fredj/github_module_simplify
...
[module/github] Use json function from requests and 'filter' instead of a loop
2017-07-07 16:22:07 +02:00
tobi-wan-kenobi
a7448c78e3
Merge pull request #124 from fredj/github_module_left_click
...
[module/github] Open GitHub notifications on left click
2017-07-07 16:21:21 +02:00
Frederic Junod
fd0a09945b
[module/memory] Fix parameter prefix in doc
2017-07-07 08:49:31 +02:00
Frederic Junod
b48c02a3e2
[module/github] Open GitHub notifications on left click
2017-07-07 06:56:16 +02:00
Frederic Junod
0ce2a25d4e
[module/github] Use 'json' from requests and 'filter' instead of a loop
2017-07-07 06:51:57 +02:00
Frederic Junod
be7fa79e8a
[modules/github] Move the requests.get inside the try/except
2017-07-06 13:52:14 +02:00
tobi-wan-kenobi
494b11be88
Merge pull request #121 from quartje/master
...
Add error handling and the ability to change currencies for the getcrypto module
2017-06-27 18:20:34 +02:00
Bart Geesink
915cfc681a
[modules/getcrypto] Add the option to display the price in other
...
currencies than USD.
2017-06-26 22:35:33 +02:00
jmg5e
11f86b75c8
removed xbacklight dependency for brightness module
2017-06-26 05:31:44 -05:00
Bart Geesink
43a25486ba
[modules/getcrypto] Add error handling to the api request. This prevents
...
a bumblebee crash when no internet connection is present (like when a
laptop resumes from sleep mode)
2017-06-24 17:41:40 +02:00
Tobias Witek
d69f13f0b4
[modules/battery] Autodetect battery devices
...
The module now creates a widget for each battery device it detects and
shows the status for each of them (I don't know of anyone with more than
a single battery, but if I'm overhauling the module anyhow, might as
well do it comprehensively).
fixes #117
2017-06-18 11:35:06 +02:00
Tobias Witek
ba843355eb
[engine/popup] Make tkinter module optional
...
If tkinter is not available, status bar should still work as expected
(but all the popup functionality will not work and likely throw errors).
2017-06-16 15:36:56 +02:00
Tobias Witek
d5875827fa
Merge branch 'popups' of git://github.com/brunosmmm/bumblebee-status into brunosmmm-popups
2017-06-16 15:29:14 +02:00
Tobias Witek
6183054ac6
[modules/todo] Make path to TODO file configurable
2017-06-16 11:24:55 +02:00
Tobias Witek
4337c2b087
[modules/todo] Make unit test pass
...
Return value of full_text must be a string.
2017-06-16 11:22:08 +02:00
Michael Skelton
66ecf73760
Updated todo module to agnostic user path
2017-06-16 16:52:01 +10:00
Michael Skelton
250c0135e6
added bumblebee module
2017-06-16 16:51:27 +10:00
Tobias Witek
76404bf90b
[modules/pulseaudio] Default pulseaudio autostart to false
...
To pacify @ibrokemypie ;-)
Joking aside: Not autostarting the pulseaudio daemon by default makes a
lot of sense, so adjust default behaviour.
see #108
2017-06-15 14:14:16 +02:00
Tobias Witek
d189b3a335
[modules/battery] Remove leading zeroes and use minwidth
2017-06-15 13:22:27 +02:00
Tobias Witek
68e0b51178
[modules/pulseaudio] Automatically restart pulseaudio daemon
...
If the current volume and mute status cannot be retrieved, the most
likely explanation is that the pulseaudio daemon is not running.
Automatically start it in such a case.
Also, add a parameter "autostart" to the pulseaudio module to disable
this behaviour in case it causes issues.
see #108
2017-06-15 11:09:00 +02:00
Tobias Witek
7e45e797f1
[modules/cpu] Enforce minimum width
...
Set the minimum width of the CPU widget to 99.9% to avoid constant size
changes as the utilization fluctuates between one and two digit numbers.
2017-06-15 11:00:22 +02:00
Tobias Witek
215bfd23df
[modules/sensors] Remove unused imports and minor reformatting
2017-06-15 07:48:25 +02:00
Tobias Witek
df6e323fa4
Merge branch 'master' of git://github.com/dnfm/bumblebee-status into dnfm-master
2017-06-15 07:42:05 +02:00
Fernando Chu
f635bed4d0
Changed _curprice to string
2017-06-14 14:31:31 -05:00
Fernando Chu
82af91f737
Forgot to change the left-click interaction
2017-06-14 12:00:51 -05:00
Ryunaq
8d842eb043
[modules/getcrypto] Get crypto prices module
...
Extremely niche module that will probably never be used for getting the price of BTC, ETH and/or LTC from Kraken.
2017-06-14 11:30:48 -05:00
Ryunaq
2d3b153f0c
[modules/getcrypto] Get crypto prices module
...
A module for getting the prices of BTC, ETH and/or LTC from Kraken.
2017-06-14 11:26:04 -05:00
Justin Wheeler
29f3e7b515
Add weather icons.
...
Add icons to the weather output to show condition to go with current
temperature.
2017-06-12 22:26:33 -04:00
Justin Wheeler
e93e1120f7
Show CPU MHz in sensors output.
...
This may need some tweaking (specifically parameters settings) to show
at what speed your CPU is running when showing sensors output.
2017-06-12 22:19:30 -04:00
Justin Wheeler
2b5c85cb8c
Add packet loss to ping.
...
Show packet loss in ping response.
2017-06-12 22:18:49 -04:00
Tobias Witek
82d8cf1370
[modules/mocp] Initialize variables
2017-06-12 18:50:08 +02:00
Chrugi
6fd168993f
Added Module for mocp (Music On Console Player)
...
This Module Displays the Status, Song, Artist and Time of the current song played or paused in mocp.
Clicking the Modules toggles play/pause.
I'm no programmer so alteration and feedback is welcome.
Best regards, Chrugi
2017-06-12 15:06:56 +02:00
Tobias Witek
37f3a11f68
[modules/nvidiagpu] Added docstring
2017-06-11 14:43:59 +02:00
Riley Redpath
06c85b4dc4
Added nvidiagpu module, which parses nvidia-smi to get the gpu name, temperature and vram usage.
2017-06-10 15:33:53 -05:00
Tobias Witek
7d13268f66
[engine] Report current module when error occurs
...
Keep track of the latest updated module in the engine part, so that the
module causing an exception can be reported correctly.
fixes #110
2017-06-10 14:08:49 +02:00
Tobias Witek
dc06611fb1
[modules] weather & github: Protect against missing data
...
If data cannot be retrieved for some reason (be pretty generous about
that by catching generic exceptions), instead of terminating the whole
status bar, simply report unknown data.
see #110
2017-06-10 13:59:44 +02:00
Tobias Witek
b89e384b20
[modules/pulseaudio] Ignore errors when starting pulseaudio daemon
...
This does not really solve the issue indicated in the ticket, but at
least it should leave the user with a working bar.
see #108
2017-06-09 11:01:25 +02:00
Tobias Witek
2eff6b4933
[modules/pulseaudio] Start pulseaudio daemon, if not running
...
Since the module requires the pulseaudio daemon to be running, in order
to query system information such as the default source/sink and the
current volume, start the daemon, if necessary.
fixes #108
2017-06-06 10:49:33 +02:00
Tobias Witek
d48e661d97
[modules/traffic] Fix delta calculation
...
A previous commit broke the traffic module by deleting widgets during
each iteration. This is fatal as the widgets contain the traffic
information from the previous iteration, for delta calculation.
Store previous traffic data in the module itself instead.
2017-06-05 15:06:56 +02:00
Tobias Witek
937e61a863
[modules/pulseaudio] Localization independence
...
In order to (hopefully) achieve localization independence, switch from
using pactl for retrieving pulseaudio information to pacmd, which seems
to be unaffected by the LANG environment variable.
fixes #103
2017-06-05 15:01:10 +02:00
tobi-wan-kenobi
63a14cb590
Merge branch 'master' into pep8
2017-06-05 10:56:28 +02:00
tobi-wan-kenobi
ac9c71cdb9
Merge pull request #107 from RobertSacks/publicip-region
...
[modules/publicip] Added 'region' and 'service' options
2017-06-05 10:55:04 +02:00
ibrokemypie
b21a62e823
[modules/cpu] Linting
2017-06-05 18:27:51 +10:00
Robert Sacks
a167ac9381
[modules/publicip] Added option to use own ip retrieval service
2017-06-05 03:53:44 -04:00
Robert Sacks
c5a1555618
[modules/publicip] Added region option to publicip module and switched to 'requests' package
2017-06-05 03:30:23 -04:00
ibrokemypie
644c55292d
[modules/sensors] Linting
...
Un-import os, fix indentation
2017-06-05 12:56:39 +10:00
ibrokemypie
3317b6d2d8
[module/github] Linting
...
Removed some unused imports, fixed indentations, removed unused variables.
2017-06-05 12:56:37 +10:00
ibrokemypie
ae536ee70d
[modules/github] Use header for token
...
Doesnt allow sniffers to get the access token from url.
Closes #104
2017-06-05 12:42:02 +10:00
Tobias Witek
0bfb725ae0
[modules/traffic] Recreate widget list during each iteration
...
To avoid "stray" devices being kept in the list, empty the widgets list
during each iteration and re-populate it from the list of available
interfaces.
fixes #101
2017-06-03 15:26:00 +02:00
Tobias Witek
2d99bdf314
[modules/traffic] Allow for state filtering
...
The optional parameter "states" can now be used to filter which
interfaces to display. "^" can be used for negation.
For example, to only show "up" interfaces:
-p traffic.states=up
To show all interfaces not in "down" state:
-p traffic.states=^down
fixes #98
2017-06-03 15:20:27 +02:00
ibrokemypie
277ea2f255
[module/cpu] More useful rounding
...
psutil.cpu_percent() only outputs to one decimal place anyway, so the trailing 0 is useless.
The prepended 0 is also not important, will only be not 0 at 100% utilization, so why not let it be 100% then and take up one less column otherwise?
2017-06-02 16:25:49 +10:00
brunosmmm
85ec7c4331
example usage of popup menu in the bluetooth module.
2017-06-01 20:25:40 -04:00
brunosmmm
2e152d1be4
simple popup menu implementation using tkinter
2017-06-01 20:23:18 -04:00
tobi-wan-kenobi
3b1c28955d
Merge pull request #95 from brunosmmm/disk-options
...
Disk options
2017-06-01 19:57:22 +02:00
brunosmmm
40d767ae6e
added an option to select which file manager to open
2017-06-01 12:27:39 -04:00
tobi-wan-kenobi
7410f96aa1
Merge pull request #94 from brunosmmm/bluetooth-plugin
...
Simple bluetooth module with toggling and status display
2017-06-01 18:23:39 +02:00
brunosmmm
d13ffcd9f7
added more options to the disk module
2017-06-01 12:21:10 -04:00
brunosmmm
185690f030
Simple bluetooth module with toggling and status display
2017-06-01 12:12:49 -04:00
ibrokemypie
7527cfcb48
[modules/memory] Add parameter to only show used memory
...
No change to default behaviour, but adds boolean to only display used rather than used, total and percentage.
To only show used memory:
-p memory.usedonly=1
2017-06-02 00:29:09 +10:00
Robert Sacks
c57ddc48fe
Removed unwanted comments in publicip module
2017-05-30 04:49:58 -04:00
Robert Sacks
d98a998c2a
Added publicip module
2017-05-30 04:33:53 -04:00
Tobias Witek
bbe43dccf4
[modules/spotify] More generic error handling
...
OK - I admit it: Mostly for the benefit of Travis and automated testing,
which complains about the DBusException, move to a more generic
exception.
However, this is probably a good idea anyhow, because independently of
the error, setting the song to an empty string is probably the best bet.
2017-05-27 13:29:08 +02:00
tobi-wan-kenobi
3fdfc7b272
Merge pull request #88 from yvesh/spotifymodule
...
[modules/spotify] Add rudimentary spotify currently playing module
2017-05-27 13:15:56 +02:00
tobi-wan-kenobi
27a06fc666
Merge pull request #87 from alrayyes/mpd
...
Mpd widget
2017-05-27 11:29:18 +02:00
Yves Hoppe
ec2b39f04c
[Output] Only draw widget when full text is not empty
2017-05-26 21:36:01 +02:00
Yves Hoppe
cffd2b8609
handling closed spotify better
2017-05-26 21:33:58 +02:00
Yves Hoppe
c3789a1399
[modules/spotify] Add rudimentary spotify currently playing module
2017-05-26 21:14:05 +02:00
Ryan
49f9cc90bc
added mpd support
2017-05-26 19:48:23 +02:00
Tobias Witek
710342d7d4
[modules/github] Minor refactoring
...
* Use requests library instead of curl
* Exactly parse the github API responses
* Return a string value in order to pass unit tests
see #86
2017-05-26 13:32:47 +02:00
Yves Hoppe
320b4b466e
Plugin description
2017-05-26 11:11:58 +02:00
Yves Hoppe
99080e7ac3
[modules/github] Add rudimentary GitHub unread messages module
2017-05-26 11:06:20 +02:00
Tobias Witek
27f5091ae3
[modules/nic] Add parameter to filter by state
...
Allow the user to filter the state of devices that should be displayed.
It's possible to use both white- and blacklists (and combinations).
For example, to only show devices in state "up":
-p nic.states=up
To only show devices that are not down:
-p nic.states=^down
fixes #84
2017-05-22 18:09:00 +02:00
Moses Miller
84d4e87fbf
Fixed the bug of ping.interval
raising an exception with any value
2017-05-15 20:57:24 -07:00
thunderstruck47
50330e38d1
using io.open, instead of open (python 2.6/2.7)
2017-05-13 17:41:43 +03:00
thunderstruck47
8d4db0282f
explicity encoding only for Python 3
2017-05-13 17:16:34 +03:00
thunderstruck47
bfa06cead1
dont rely on platform specific encoding
2017-05-13 16:36:25 +03:00
Tobias Witek
12a3aa5456
[modules/stock] Modify symbol decoding for Python3 compatibility
...
In Python3, string doesn't have a "decode" method. I will need to find a
proper fix for this, but for now, the workaround seems to do the trick.
2017-05-11 19:43:59 +02:00
Michael P. Soulier
c73a3cfa34
Merge remote-tracking branch 'tobi-wan-kenobi/master'
2017-05-10 15:46:57 -04:00
Michael P. Soulier
ba38a9d4a0
Added a currencies parameter to the stock ticker.
2017-05-10 15:38:44 -04:00
Tobias Witek
fdcc908d83
[core] Use class theme, if no specific module theme matches
...
For modules that use aliases, until now, *only* the alias theme was
considered. This is typically a bad idea (tm), as the "generic" case is
that of a module theme (e.g. "disk", not that of a theme per instance of
the module (i.e. "home", "root", etc.)).
Therefore, introduce the concept of a "class" theme that can be
optionall overridden by a specific module theme.
As a pleasant side-effect, this should bring back the disk icons for all
instances of the disk module :)
fixes #79
2017-05-10 20:01:29 +02:00
Michael P. Soulier
b4576e846f
Adding simple stock ticker.
2017-05-09 13:23:18 -04:00
Tobias Witek
f52702fbb5
[modules/traffic] Refactor code for simplicity
...
Try to reduce code duplication by having a helper function that creates
the traffic widgets and do widget generation more generically.
2017-05-05 20:58:15 +02:00
Tobias Witek
ea7227dc53
[core] Convert command output to utf-8
...
Instead of fixing encoding in every individual module (cmus, gpmdp, ...)
perform decoding to utf-8 directly in the core.
(hopefully) fixes #74
2017-04-26 07:51:11 +02:00
Tobias Witek
02f3559734
[input] Terminate i3 protocol header with newline
...
According to https://i3wm.org/docs/i3bar-protocol.html , the header block
needs to be terminated by a newline.
fixes #76
2017-04-26 07:37:47 +02:00
graynk
0dfa80fc7a
fix should work for Python 2 and 3
2017-04-24 23:18:15 +05:00
graynk
612c3605b5
fix for non-latin symbols in GPM module
2017-04-24 22:12:00 +05:00
Tobias Witek
2e5ea91291
Merge branch 'meain-traffic'
2017-04-23 07:18:15 +02:00
Tobias Witek
30bdab2767
[modules/traffic] Make traffic icons prefixes again
...
For consistent look, make the traffic icons prefixes, and change the
alignment to left again, in order to avoid "jumping" of the icons.
2017-04-23 07:15:30 +02:00
Tobias Witek
1a82a717fa
[core] Calculate minwidth including pre/suffix
...
Add the length of the prefix and suffix to the minimum width, if
applicable.
2017-04-23 07:15:07 +02:00
Tobias Witek
434473c875
[general] Minor edit: Move from "theme-" to "theme." prefix
...
Thinking about it, I find domain delimitors using "." more intuitive
than "-", so fix that.
2017-04-22 13:11:59 +02:00
Tobias Witek
1670890491
[modules/cmus] Make text description scrollable
...
Since the description of a song can get pretty lengthy, make it
scrollable.
fixes #27
2017-04-22 13:10:13 +02:00
Tobias Witek
928940d848
[core] Add a "scrollable" modifier for widget texts callbacks
...
If a module defines a callback for a widget's text, an optional
decorator "@bumblebee.output.scrollable" can be used to make the text
scrollable.
In those cases, the desired width is set to (in decreasing order of
priority):
1. whatever the widget defines as "theme.width"
2. whatever the theme defines as "width" for the module
3. whatever the commandline parameter "width" for the module is set to
4. 30 (determined by unfair dice roll)
see #27
2017-04-22 13:07:50 +02:00
Tobias Witek
92be7d3020
[core] Added min-width and alignment themeing
...
Added theme-options ("minwidth" and "align") for setting the minimum
width and the alignment of a widget.
Also, allow widget to provide defaults for the theme options by setting
an attribute in their store called "theme-<name of the theme option>".
For example, a widget can now define a default alignment by using:
widget.set("theme-align", "default-value").
2017-04-22 13:00:53 +02:00
Tobias Witek
547910611c
[modules/traffic] fix docstring location
2017-04-22 11:10:01 +02:00
Tobias Witek
e6357f4c90
[modules/traffic] Add alignment and minimum width
...
Set the minimum width for uplink and downlink widgets to "down 1000MB",
which should be plenty, and change alignment to right (personally, I
find this looks nicer).
To not have the icons on the left side "jump around" depending on the
value, make them suffixes.
If this solution is not sufficient, alternatively, the widget itself
could perform value padding. In that case, the whole alignment and
min-width settings would be obsolete and the icons could remain on the
left side.
2017-04-22 08:26:28 +02:00
Tobias Witek
5db5e02086
[core] Added min-width and alignment themeing
...
Added theme-options ("minwidth" and "align") for setting the minimum
width and the alignment of a widget.
Also, allow widget to provide defaults for the theme options by setting
an attribute in their store called "theme-<name of the theme option>".
For example, a widget can now define a default alignment by using:
widget.set("theme-align", "default-value").
2017-04-22 08:24:52 +02:00
Tobias Witek
430c9f5e93
[modules/traffic] Minor refactoring
...
* use psutil instead of "ifconfig" in order to avoid external command
calls
* fix a small bug in the ascii theme (missing colon)
* show statistics per-nic
2017-04-22 08:11:55 +02:00
Tobias Witek
16359c883b
Merge branch 'traffic' of git://github.com/meain/bumblebee-status into meain-traffic
2017-04-22 07:45:22 +02:00
Abin Simon
bc26cd5dd6
basic exception handling
2017-04-21 14:52:19 +05:30
Abin Simon
a8693dcada
seperate up and down speeds for traffic widget
2017-04-21 11:40:02 +05:30
Abin Simon
ed3d9bd595
remove interface name from traffic
2017-04-21 10:52:41 +05:30
tobi-wan-kenobi
7153c5fa0d
Merge pull request #68 from meain/remove-unused
...
Remove unused variable in battery module
2017-04-21 07:21:13 +02:00
Abin Simon
14943a69cb
traffic module added
2017-04-21 10:46:16 +05:30
Abin Simon
243e4b326c
remove unused variable
2017-04-21 08:32:06 +05:30
mike-work
b1ce9645ac
Remove decimal places for sensors.
2017-04-20 23:18:11 +01:00
Tobias Witek
2052f58dde
[modules/sensors] Minor cosmetic changes + screenshot
...
Cosmetic changes:
* replace all single ticks with double ticks
* add vim line
Added screenshot for sensors module.
2017-04-19 18:53:45 +02:00
mike-work
3d50024e5f
Create sensors module.
2017-04-19 12:36:35 +01:00
tobi-wan-kenobi
e6df55b3cb
[config] Add logfile location parameter
...
Add commandline parameter to specify the logfile location.
see #62
2017-04-04 15:14:54 +02:00
Tobias Witek
e5db3d825d
[modules/cmus] Declare file encoding
...
This seems to fix #51
2017-04-02 08:58:12 +02:00
Tobias Witek
251f8d2e9f
[core] Add debugging capabilities
...
* If an exception is thrown, catch it and show a (somewhat) nice error
message in the i3bar instead of the normal content
* Add a flag "-d" for debugging into a debug log. Currently, this only
logs commandline calls as they occur and their return values, as well
as exceptions.
fixes #58
2017-04-02 08:31:23 +02:00
Tobias Witek
11235d6883
[modules/weather] Set indicator to "?" when data is invalid
...
If retrieving weather information fails, replace the temperature data
with a "?".
fixes #60
2017-04-01 16:53:39 +02:00
Michal Siedlaczek
d826e250c8
Catch RequestException when fetching weather
2017-04-01 09:23:32 -04:00
Tobias Witek
f0bacdecd8
[modules/xrandr] Fix a crash caused by Python3
...
Python3 does not have sys.maxint anymore, so replace it with
sys.maxsize, which is available in both Python2 and Python3.
fixes #59
2017-03-28 19:08:17 +02:00
Chris LaRose
fe11bad826
Silence ImportErrors for optional dependencies. Fixes #55 .
2017-03-25 18:35:56 -07:00
Tobias Witek
b20e83cb8a
[engine] Fix interval configuration
...
Until now, manually specifying an interval did not work, as a cast to
float was missing. Now, it's possible to specify an update interval in
seconds via "-p interval=<interval>"
fixes #54
2017-03-16 21:04:24 +01:00
zetxx
289b42b26a
fix: state, check regex result before use it
2017-03-15 23:12:55 +02:00
zetxx
0b961e2304
fix: init type
2017-03-15 23:02:13 +02:00
zetxx
69e4780182
feat: added volume level for amixer
2017-03-15 22:55:05 +02:00
Yashar Shahi
c203cd6173
[modules/pacman] Update url filtering
...
Arch mirrors can also have rsync protocol
2017-03-10 21:18:34 +03:30
Yashar Shahi
e2fcbfae4f
[modules/pacman] Remove extra debugging raise
2017-03-10 20:02:28 +03:30
Yashar Shahi
82ce0ac834
[modules/pacman] Set thresholds
...
Compute weighted sum and set thresholds accordingly
2017-03-10 19:53:52 +03:30
Yashar Shahi
b9a4b590a4
[modules/pacman] Update list of repositories
2017-03-10 19:09:31 +03:30
Yashar Shahi
50d7a27487
Bug fix: pacman.py freezes the bar
...
Move update in a seperate thread.
2017-03-10 18:51:30 +03:30
yashar-sb-sb
88e3b8c146
Update pacman.py
...
Use widget to store parameters instead of using private variables.
2017-03-10 16:22:54 +03:30
Tobi-wan Kenobi
16c202a7ed
[modules/disk] Remove stray unicode character in output
2017-03-10 08:17:43 +01:00
yashar-sb-sb
422348e01d
Update diskspace()
...
Delete extra space! (looks better without the extra space. and now it's consistent with other widgets.)
2017-03-09 23:41:55 +03:30
yashar-sb-sb
3f96102b28
Update diskspace()
...
Add hdd icon.
2017-03-09 23:38:31 +03:30
yashar-sb-sb
dfb5bfe71c
Update comment
...
Re-add the comment which was deleted by mistake.
2017-03-09 22:51:28 +03:30
yashar-sb-sb
9efca45b02
Update update()
...
Fix the issue with computation of used space.
2017-03-09 22:37:41 +03:30
yashar-sb-sb
3f17f0382e
Update update module
...
Used shutil.disk_usage(path) instead of os.statvfs(path)
2017-03-09 20:39:40 +03:30
Tobi-wan Kenobi
826c568625
[tests] Add generic module tests
...
These tests check that all widgets of all modules conform to some basic
principles, at least.
2017-03-05 13:30:10 +01:00
Tobi-wan Kenobi
f9984ba386
[tests] Add unit tests for load module
2017-03-05 13:16:13 +01:00
Tobi-wan Kenobi
8724af2906
[tests/battery] Add tests for battery module
2017-03-05 09:35:56 +01:00
Tobi-wan Kenobi
90dd636b43
[tests/engine] Add test for module aliasing
2017-03-04 18:53:31 +01:00
Tobi-wan Kenobi
6a14681a65
[tests/theme] Add tests for theme.py
2017-03-04 14:17:27 +01:00
Tobi-wan Kenobi
f65ab6bcae
[tests/config] Add unit tests for config.py
2017-03-04 12:11:43 +01:00
Tobi-wan Kenobi
6dbe440cb5
[tests] Purge tests and start with a clean implementation of subprocess
...
Seems like subprocess and friends (Popen, communicate) are not so easy
to mock cleanly. Therefore, start from scratch and carefully write test
by test, until (at least) the old test coverage has been restored.
2017-03-04 11:25:52 +01:00
Tobi-wan Kenobi
fe5bbd4b46
[modules/kernel] Use Python standard module "platform"
...
Instead of executing an external call to "uname", use the standard
Python module "platform" to retrieve information about the kernel used.
Positive side-effect: This is portable, if i3 ever exists on Windows :P
2017-03-03 19:18:25 +01:00
Tobi-wan Kenobi
955f123b88
[modules/kernel] Add documentation and vim hints
2017-03-03 19:13:30 +01:00
Pierre
bc514265d4
new module that displays current kernel
...
it uses the output of 'uname -r' prefixed with the linux font-awesome icon
2017-03-03 16:01:59 +01:00
Tobi-wan Kenobi
ec19f48853
[modules/weather] Remove remaining timer references
...
Remove obsolete _timer references.
2017-02-26 15:30:07 +01:00
Pavle Portic
44aa1bc564
[modules/weather] Add API key parameter documentation and round temperature to int
2017-02-26 14:17:26 +01:00
Tobi-wan Kenobi
a3f4b0aa6d
[input] Cleaner termination logic, also, remove /tmp/bee.log
...
Accidentially opened file /tmp/bee.log, without writing anything to it.
2017-02-26 09:13:44 +01:00
Tobi-wan Kenobi
6d47240d6a
[modules/nic] reduce code complexity (hopefully)
...
fixes #37
2017-02-26 09:08:36 +01:00
Tobi-wan Kenobi
8dc07e666e
[modules/weather] Replace urllib with requests
...
Since requests works the same for python2.7 and python3.x, use requests
instead of urllib (which returns a string in python2.7, but byte data in
python3.0, at least).
2017-02-26 08:19:30 +01:00
Tobi-wan Kenobi
feb5719ecc
[modules/weather] Minor reworks
...
* Use app-specific API key for bumblebee-status
* Add some parameters (location, unit, update interval)
* Make interval calculation based on time, not number of calls
2017-02-26 08:07:58 +01:00
Pavle Portic
49af9c14d6
[modules/weather] Add rudimentary weather module
2017-02-26 02:42:27 +01:00
Tobi-wan Kenobi
188ee36780
[modules] Add redshift module
...
New module that shows the current state of redshift
(day/night/transition) and, if in transition, also shows
the day/night percentages.
fixes #40
2017-01-21 11:23:29 +01:00
Tobi-wan Kenobi
87714f12ee
[modules/*] Add required executables/commandline tools to help output
...
fixes #39
2017-01-05 04:55:14 +01:00
Tobi-wan Kenobi
d3fc5094f8
[modules/gpmdp] Make unit tests run through
...
* full_text needs to return a string *always*
* relax full_text check to also allow unicode results
2017-01-02 22:26:57 +01:00
Pavle Portic
0f1725982a
[modules/gpmdp] Add Google play music desktop player support
2017-01-02 21:44:53 +01:00
Tobi-wan Kenobi
a705adf207
[modules/pulseaudio] Fix status extraction
...
With multiple devices, extracting mute status and volumes failed
(because the loop would continue even after it found the correct device)
2016-12-20 07:49:21 +01:00
Tobi-wan Kenobi
846d28714a
[tests] Add tests for bumblebee.util
...
Add tests for the utility functions and fix a few embarrassing bugs in
the process.
2016-12-17 09:00:49 +01:00
Tobi-wan Kenobi
9a350ddc2a
[tests/config] Add tests for helptexts
...
Ensure that each theme is listed in the helptext and that there is a
helptext entry for every module.
2016-12-17 08:42:23 +01:00
Tobi-wan Kenobi
4f7666533c
[modules/pulseaudio] Refactor callback registration
...
Make it easier to add/extend callbacks in the future.
fixes #35
2016-12-17 08:16:10 +01:00
Tobi-wan Kenobi
cfd1406525
[modules/pulseaudio] (Hopefully) improve parsing logic
...
Improve parsing logic to make code easier to understand and extend.
fixes #32
2016-12-17 08:06:58 +01:00
Tobi-wan Kenobi
220bb9bf60
[core/input] Ugly hack for responsiveness
...
Somehow, the fix in the previous commit didn't work, it seems that
sometimes epoll() doesn't trigger, even if there is more data in
sys.stdin. I'm sure I'm doing something horribly wrong here.
Anyhow, as a quick fix, check for the open bracket to be sure to not
buffer the first event too long.
2016-12-17 08:04:21 +01:00
Tobi-wan Kenobi
f6be25bc73
[core/input] Move from select to epoll
...
Use epoll instead of select in order to be able to use level-triggered
semantics and not get stuck on the first event.
2016-12-17 07:43:38 +01:00
Tobi-wan Kenobi
31f9154be2
[help] Add theme and module listing
...
Re-enable the possibility to list available themes and modules.
fixes #29
2016-12-17 07:05:23 +01:00
Tobi-wan Kenobi
71cc0c216f
[engine/config] Add helptexts
2016-12-15 19:44:49 +01:00
Tobi-wan Kenobi
5e305bf3b6
[engine/input] Re-enable mouse button parameter bindings
...
Re-enable the possibility to define custom mouse actions by binding
commands to "<alias|module>.<left-click|right-click|...>". These
commands are then executed as shell commands.
fixes #30
2016-12-15 19:41:50 +01:00
Tobi-wan Kenobi
999547f794
[modules/layout] Re-enable keyboard layout switcher
...
Displays the current layout and allows switching to next/previous
configured layout via mouse clicks.
2016-12-11 15:00:13 +01:00
Tobi-wan Kenobi
75f5af4866
[core/input] Skip partial events
...
Clicking on a separator creates partial events ("instance" missing).
Ignore those events, as they crash the input processor.
fixes #31
2016-12-11 13:43:34 +01:00
Tobi-wan Kenobi
d10fc814ed
[modules/dnf] Re-enable DNF update checking module
...
see #23
2016-12-11 12:53:31 +01:00
Tobi-wan Kenobi
dd6b13265d
[modules/pacman] Re-enable pacman update information
...
see #23
2016-12-11 12:42:49 +01:00
Tobi-wan Kenobi
1d6ca352b9
[modules/xrandr] Re-enable xrandr module
...
Displays the connected screens and allows the user to enable/disable
them.
see #23
2016-12-11 12:23:33 +01:00
Tobi-wan Kenobi
17ee621a5a
[modules/ping] Spawn thread on-the-fly
...
Instead of having a thread that runs in the background continuously,
spawn a new one for every update interval. That speeds up the tests
quite a lot.
see #23
2016-12-11 11:50:15 +01:00
Tobi-wan Kenobi
71582cbcd7
[modules/ping] Re-enable ping module
...
Show RTT measured by ICMP echo request/replies for a given host.
For that to work correctly, change the "full_text" callback for a widget
so that the widget itself is also passed as argument in the callback
method. That actually makes a lot of sense, since the widget can now be
used as a repository of state information.
see #23
2016-12-11 11:37:24 +01:00
Tobi-wan Kenobi
666daff9a6
[modules/pulseaudio] Re-enable pulseaudio module
...
Display volume for default PulseAudio source/sink, change volume and
mute/unmute device.
see #23
2016-12-11 08:51:56 +01:00
Tobi-wan Kenobi
23d7d53fca
[modules] critical/warning threshold refactoring
...
Quite a lot of modules use the "if higher X -> critical, if higher Y ->
warning" idiom now, so extracted that into a common function for reuse.
see #23
2016-12-11 08:25:54 +01:00
Tobi-wan Kenobi
edfccd2d31
[modules/spacer] Re-enable "spacer", the text-display widget
...
see #23
2016-12-11 08:17:37 +01:00
Tobi-wan Kenobi
c8fc75a401
[modules/load] Re-enable load module
...
Display system load and show warning/critical error when load is above a
certain threshold (compared to the number of available CPUs).
see #23
2016-12-11 08:01:43 +01:00
Tobi-wan Kenobi
1a4cddb0b6
[core] Fix callback registration ("shadowed" events)
...
Until now, as soon as a widget registered *any* callback, the default
callbacks (e.g. scroll up/down to go to next/previous workspace) didn't
work anymore, as there was a better match for the general registration
(even though not for the button).
To fix this, merge the callback registration into a flat registration,
where a key is calculated from the ID of the registrar and the
registered button.
see #23
2016-12-11 07:38:56 +01:00
Tobi-wan Kenobi
d91294f010
[modules/battery] Fix ac and unknown display
...
If the computer runs on AC, display that instead of showing "100%" in
the status.
Also, if reading the charging status fails for some reason (except the
computer being on AC), go into critical state and display "n/a".
see #23
2016-12-11 07:28:15 +01:00
Tobi-wan Kenobi
2cc2cf8282
[core/engine] Add aliasing mechanism to modules
...
Allow modules to define aliases. This replaces the symlink mechanism
that was in place previously, because it was a bit ugly (and confused
code climate).
see #23
2016-12-11 07:18:06 +01:00
Tobi-wan Kenobi
a1455c9687
[modules/battery] Handle inexistent battery more gracefully
2016-12-10 19:54:31 +01:00
Tobi-wan Kenobi
14b8feeef1
[modules/datetime] Add help text
2016-12-10 19:30:25 +01:00
Tobi-wan Kenobi
d41c142d4a
[modules/memory] Re-enable memory usage module
...
Add module that shows RAM consumption and opens the gnome-system-monitor
on click.
see #23
2016-12-10 19:20:19 +01:00
Tobi-wan Kenobi
e15147fe10
[tests/disk] Add critical/warning threshold tests for disk module
...
see #23
2016-12-10 18:49:25 +01:00
Tobi-wan Kenobi
8f6bb7b45d
[core/input] Remove "valid input required" logic from input
...
Accidentially committed a experimental way to enforce waiting for a
valid input, mainly for testing.
see #23
2016-12-10 18:22:05 +01:00
Tobi-wan Kenobi
12f5ce5977
[modules/disk] Re-enable disk usage module
...
Add a module that shows the disk usage for various paths and opens
nautilus on that path whenever it is clicked.
see #23
2016-12-10 18:21:01 +01:00
Tobi-wan Kenobi
771c597ce9
[modules/caffeine] Re-implement caffeine module
...
Add caffeine module & add a framework for testing it (no tests yet,
though).
see #23
2016-12-10 15:36:18 +01:00
Tobi-wan Kenobi
163419063d
[tests/battery] Add some tests for the battery module
...
see #23
2016-12-10 14:50:49 +01:00
Tobi-wan Kenobi
1b8385b33f
[modules/brighness] Re-enable brightness module
...
Add a module for reporting, increasing and decreasing the brightness of
a display.
see #23
2016-12-10 14:31:18 +01:00
Tobi-wan Kenobi
029492e16d
[core] Non-blocking input thread for i3bar events
...
Make input thread non-blocking by using select(). This increases the CPU
utilization a bit (depending on the timeout), but makes the thread exit
cleanly, even if an exception is thrown in the main thread.
see #23
2016-12-10 13:45:54 +01:00
Tobi-wan Kenobi
0489ce1b51
[core/engine] Register wheel up/down callbacks for desktop switch
...
Switch desktop to prev/next on wheel up/down.
see #23
2016-12-10 12:14:12 +01:00
Tobi-wan Kenobi
7ea8c5320d
[modules] Add help texts
...
see #23
2016-12-10 12:03:58 +01:00
Tobi-wan Kenobi
4d4a7bf29d
[modules/battery] Re-enable battery module
...
Extend theme to be able to accept lists of values and cycle through
them. Use this to "animate" the charging symbol for the battery.
see #23
2016-12-10 12:00:08 +01:00
Tobi-wan Kenobi
72e375ac8b
[modules/nic] Check for vanished interfaces
...
If a widget exists for an interface that is not there anymore (i.e. a
tunnel interface that has been removed, or a USB device that has been
unplugged), remove that widget from the list.
see #23
2016-12-10 11:33:35 +01:00
Tobi-wan Kenobi
a045962d00
[modules/nic] Re-enable NIC module
...
Re-add the NIC module with all its functionality (hopefully...).
This introduces a new concept: Instead of having separate queries for
critical and warning (which really are just another set of states), a
module can now return a list of states for each widget. All the state
information is then merged together into a single theme. So, for
instance, the NIC module can return a state saying "critical -
wlan-down", which applies the theme information for both "critical" and
"wlan-down".
see #23
2016-12-10 11:25:02 +01:00
Tobi-wan Kenobi
c820223d0c
[core/input] Execute commands in background
...
When spawning a command from an input interaction, do it in the
background, so as to not block further interactions.
see #23
2016-12-10 10:47:23 +01:00
Tobi-wan Kenobi
918d7a6046
[core/input] Add callback deregistration
...
Enable components to unregister callbacks (i.e. for dynamic widgets).
see #23
2016-12-10 10:26:07 +01:00
Tobi-wan Kenobi
761b81970d
[modules/cpu] Pad to 3 digits before comma to fix width
...
I cannot get the min_width property to work right now, so in order to
fix the width of the CPU widget, pad the utilization to 3 digits (so
that even 100% aligns nicely).
see #23
2016-12-10 09:04:12 +01:00
Tobi-wan Kenobi
38a42e4a77
[tests/cmus] Add tests for cmus mouse interaction
...
see #23
2016-12-10 08:37:04 +01:00
Tobi-wan Kenobi
b1ec41f905
[modules/cmus] Add mouse controls
...
Enable play/pause, repeat/shuffle toggle, next/prev song by clicking on
the various elements in the bar.
see #23
2016-12-10 08:19:24 +01:00
Tobi-wan Kenobi
1a3217bb5f
[modules/cmus] Add status callback
...
Inform the theme about the current playback status (start, stop, repeat,
shuffle).
see #23
2016-12-10 08:16:27 +01:00