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