Commit graph

2058 commits

Author SHA1 Message Date
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
2a93e0109e cropped widget properly 2017-05-26 19:50:59 +02:00
Ryan
49f9cc90bc added mpd support 2017-05-26 19:48:23 +02:00
Tobias Witek
541b6e68c2 Merge branch 'yvesh-githubunread' 2017-05-26 16:33:13 +02:00
Tobias Witek
6c6434cefd [screenshots] Added github module screenshot 2017-05-26 16:32:38 +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
tobi-wan-kenobi
15db0c7756 Merge pull request #83 from Majora320/master
Fixed the bug of `ping.interval` raising an exception with any value
2017-05-16 08:18:44 +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
Tobias Witek
9b0c9a49e8 [core] Cleanly abort on ctrl+c
During debugging, being able to cleanly (i.e. without backtrace) exit
using ctrl+c is a very welcome functionality :)
2017-05-13 20:28:11 +02:00
Tobias Witek
f03eada002 [travis] Try to pin coverage to 4.3 for code climate
Try to make the code climate test reporter happy by pinning coverage.py
to 4.3
2017-05-13 16:58:43 +02:00
tobi-wan-kenobi
ec7b5f26d4 Merge pull request #81 from thunderstruck47/master
Don't rely on platform specific encoding for Python 3
2017-05-13 16:51:58 +02: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
fe91d5bc78 Merge branch 'msoulier-master' 2017-05-11 19:46:35 +02: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
Tobias Witek
86dad7436e [screenshots] Add stock.png 2017-05-09 20:45:01 +02:00
tobi-wan-kenobi
d03f366dfb Merge pull request #77 from msoulier/master
Adding simple stock ticker.
2017-05-09 20:37:26 +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
94c72a1e6a [tests] Fix failing test for i3bar protocol 2017-04-26 07:50:27 +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
tobi-wan-kenobi
fc516102b8 Merge pull request #75 from graynk/master
fix for non-latin symbols in GPM module
2017-04-24 20:24:11 +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
tobi-wan-kenobi
4f21ccb875 Merge pull request #73 from meain/patch-1
Update README.md
2017-04-23 07:58:36 +02:00
Abin Simon
ee0346254e Update README.md
Updated module list depending on psutil and netifaces
2017-04-23 10:54:36 +05:30
Tobias Witek
02fa2438b6 [screenshots] Added screenshot for "traffic" module 2017-04-23 07:22:48 +02: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
59fc835b88 [tests] Fix broken cmus test
Adding scrollable output broke the cmus test.
2017-04-22 13:17:09 +02:00
Tobias Witek
0f34826cac [tests] Fix broken tests caused by new theme methods
Add "minwidth()" and "align()" mocks for i3bar output tests.
2017-04-22 13:14:52 +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
b59ea4d5ab [tests] Fix broken tests caused by new theme methods
Add "minwidth()" and "align()" mocks for i3bar output tests.
2017-04-22 11:11:26 +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