Commit graph

501 commits

Author SHA1 Message Date
Frederic Junod
57204a215e Fix bad-whitespace errors found by pylint 2017-10-17 18:59:23 +02:00
Tobias Witek
7af57c7fc4 [core/input] Handle epoll interrupts
Sometimes epoll poll() calls get interrupted by the system - handle that
more gracefully.
2017-10-17 18:53:58 +02:00
Tobias Witek
c041e33bc0 [core/config] Make unit test go through 2017-10-17 18:53:02 +02:00
Camilo Celis Guzman
3f7f8e29de [modules/rotation] new module to loop through orientations 2017-10-11 20:11:10 +09:00
Tobias Witek
5d1d994dce [core] Add support for custom colorsets (e.g. pywal)
In a theme file, it is now possible to provide an array of "color
definitions", which allow you to use names instead of colors throughout
the theme file.

Currently, only the colorset "wal" is supported, which reads all colors
from the wal JSON file (~/.cache/wal/colors.json) and makes them usable
in the theme (as "foreground", "background", "cursor", "color12", etc.).

An example of this can be found in the theme wal-powerline.

see #185
2017-10-08 08:13:10 +02:00
Avindra Goolcharan
9c52624ecb nvidiagpu.py: remove invalid shebang
This file has no actionable code when executed directly from a shell. It contains only a `class` as it is a bumblebee module.

so the shebang should be removed.
2017-10-06 22:15:46 -04:00
Tobias Witek
7c17516874 [modules/layout-xkb] Gracefully handle missing xkbgroup library
Show "n/a" is xkbgroup is not installed/available

see #177
2017-10-01 05:45:52 +02:00
Tobias Witek
e0e59b863c [modules/xkbgroup] Remove thirdparty xkb, use system xkb
Providing a custom-built xkb module obviously doesn't really work, so
use the system one instead.

see #177
2017-10-01 05:42:29 +02:00
Tobias Witek
855012f05d [modules/layout-xkb] Parameter to show full layout name
If parameter "showname" is specified, do not show the symbol (e.g.
"us"), but the full layout name (e.g. "English (US)").

see #177
2017-09-30 16:26:20 +02:00
Tobias Witek
ad4246d52d [modules/layout-xkb] Use set-xkbmap to switch layouts
Use the data retrieved via xkb and set the new layouts and variants
using set-xkbmap.

see #177
2017-09-30 16:21:51 +02:00
Tobias Witek
0dd8a4ffeb [modules/layout-xkb] Ignore errors 2017-09-30 11:53:28 +02:00
Tobias Witek
9525b18653 [modules/layout-kxb] Add docstring 2017-09-30 11:50:33 +02:00
Tobias Witek
d45b80dc52 [modules] Add layout-xkb using xkbgroup to display current layout
Package xkbgroup as "thirdparty", because it was slightly patched
for python2.x compatibility.

see #177
2017-09-30 11:18:36 +02:00
tobi-wan-kenobi
2384ecd475 Merge pull request #184 from paxy97/module/weather
[modules/weather] Show city in weather module
2017-09-29 17:57:03 +02:00
Pavle Portic
c462bd3472 [modules/weather] Show city in weather module 2017-09-29 14:31:42 +02:00
ibrokemypie
b544393c63 modules/sensors: Try intel scaling current frequency
On intel pstate drivers only the normal frequency is written to /proc/cpuinfo, not accounting for scaling/turbo.
This should fix that, though it needs testing on other computers (AMD, intel without pstate) because I am not
certain that the file only exists on Intel pstate.
2017-09-29 12:16:32 +10:00
Tobias Witek
f3ee6e0c67 [themes] Add non-powerline solarized-dark with awesome fonts
In order to do that, change the theme engine so that a theme can
override settings in the iconsets. Was probably a bug to begin with that
this was not possible.
2017-09-20 08:59:23 +02:00
Tobias Witek
81e1b25687 [modules/memory] Use /proc/meminfo instead of psutil
Try to be more accurate in calculating memory by using the /proc/meminfo
interface directly.

fixes #181
2017-09-20 06:26:39 +02:00
Tobias Witek
18131a3efe [modules/layout] Remove parameter for language configuration
Switch layout module to do full auto-detection by parsing the output of
xrandr -query.

fixes #177
2017-09-19 09:15:36 +02:00
tobi-wan-kenobi
4bbc67a6c4 Merge pull request #178 from chrismullins/fix-github-module
BUG: github module count breaks in python3
2017-09-18 19:53:28 +02:00
Frederic Junod
e70ba50a30 [module/title] Use bumblebee.util.asbool function 2017-09-18 08:30:44 +02:00
Christopher Mullins
42b42c1294 BUG: github module count breaks in python3
In python2, filter returned a list, but in python3 it returns an iterator. So
we wrap this in a list() so that it works in both.  We also want to count the
unread notifications, so this should be reflected in the code.
2017-09-17 18:54:38 -04:00
Tobias Witek
dfb1e39421 [core + modules/cmus] Have another go at fixing unicode issues
Override sys.stdout and sys.stderr in an attempt to enforce utf-8
encoding. Probably this will cause all kinds of weird issues down the
line, but at least, it seems to solve the immediate issue.

fixes #176
2017-09-16 12:22:20 +02:00
Pier-Angelo Gaetani
da21eba0d7 [module/title] added scrollable title option 2017-09-15 17:46:24 -06:00
Tobias Witek
4a9782a517 [modules/title] Make unittests run through
see #174
2017-09-15 20:05:09 +02:00
Tobias Witek
ecbde508d2 [modules/title] Python < 3.4 compatibility
Replace textwrap.shorten() with custom implementation, since it is only
available since Python 3.4. While at it, catch i3 exceptions in order to
make unit tests (hopefully) run through.

Also, Updated README.md

see #174
2017-09-15 20:02:07 +02:00
Pier-Angelo Gaetani
8bba1d1e0d [module/title] Requirement update in README.md + linting 2017-09-15 10:03:58 -06:00
Pier-Angelo Gaetani
55f48d5618 Added title module. 2017-09-15 09:51:14 -06:00
Tobias Witek
75140c77b4 [modules/currency] Make output format configurable
Add two format strings:
* sourceformat to specify the "base" format
* destinationdelimiter to format how multiple rates are delimited
2017-09-10 18:37:11 +02:00
Tobias Witek
bf53c5912c [modules/currency] Enable base and symbol configuration
The "base" currency can now be configured using the parameter "source",
and the "symbols" to be resolved can be configured using the parameter
"destination", which is a comma-separated list.

see #169
2017-09-10 09:34:02 +02:00
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