Commit graph

1519 commits

Author SHA1 Message Date
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
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
Tobias Witek
a9a6bcd015 [doc] Add note about powerline-fonts requirement
fixes #72
2017-04-22 07:43:31 +02:00
Abin Simon
bc26cd5dd6 basic exception handling 2017-04-21 14:52:19 +05:30
Abin Simon
8c45a63b47 update ascii icons for traffic 2017-04-21 11:44:25 +05:30
Abin Simon
a8693dcada seperate up and down speeds for traffic widget 2017-04-21 11:40:02 +05:30
Abin Simon
d3e24c0eea add ascii icon for traffic 2017-04-21 10:59:25 +05:30
tobi-wan-kenobi
2908a6cecd Merge pull request #70 from meain/sensors-ascii-icon-fix
add sensors prefix value to ascii icons
2017-04-21 07:28:33 +02:00
Abin Simon
1cd8da788b add sensors prefix value to ascii icons 2017-04-21 10:55:00 +05:30
Tobias Witek
563357dac1 [doc] Add new gruvbox (non-powerline) theme to README.md 2017-04-21 07:23:43 +02:00
Tobias Witek
7b38eb6fc4 [screenshots] Add new theme "gruvbox" 2017-04-21 07:23:04 +02:00
Abin Simon
ed3d9bd595 remove interface name from traffic 2017-04-21 10:52:41 +05:30
tobi-wan-kenobi
3078c91a4c Merge pull request #69 from meain/gruvbox-theme
non powerline gruvbox theme
2017-04-21 07:21:32 +02:00
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
Tobias Witek
eaf6c0e61d [screenshots] Updated sensors screenshot 2017-04-21 07:20:09 +02:00
tobi-wan-kenobi
75ce28ddc0 Merge pull request #67 from mijoharas/feature-fewer-significant-figures-in-sensors
Remove decimal places for sensors.
2017-04-21 07:18:20 +02:00
Abin Simon
14943a69cb traffic module added 2017-04-21 10:46:16 +05:30
Abin Simon
ba3b3dd4cc non powerline gruvbox theme 2017-04-21 08:39:59 +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
tobi-wan-kenobi
870130b8c3 Merge pull request #65 from mijoharas/feature-sensors-module
Feature sensors module
2017-04-19 18:48:10 +02:00
mike-work
76ec87157a Add sensors to README.md. 2017-04-19 12:38:49 +01:00
mike-work
3d50024e5f Create sensors module. 2017-04-19 12:36:35 +01:00
tobi-wan-kenobi
dc3881d99e [core] Make logging work in (hopefully) all situations
* Unless debugging has been enabled, log to stderr (i.e. do *not* try to
open a file)
* When debugging into a file, choose a location that is likely to be
writeable by the user (i.e. the user's home directory)
* Location of the logfile can also be specified
    
fixes #62
2017-04-04 15:15:50 +02: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
0e502cef25 [bumblebee-status] Add missing import for error module 2017-04-02 08:56:44 +02:00
Tobias Witek
badc2648b6 [travis] Try to fix failing code coverage tests on PR 2017-04-02 08:44:32 +02:00
Tobias Witek
1f0f39394f [doc] Add documentation for debug mode 2017-04-02 08:34:17 +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
tobi-wan-kenobi
bb0b2995b9 Merge pull request #60 from elshize/weather-fail-on-disconnect
Catch RequestException when fetching weather
2017-04-01 16:48:33 +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
tobi-wan-kenobi
6ac6114b2e Merge pull request #56 from cjlarose/master
Silence ImportErrors for optional dependencies
2017-03-26 09:37:41 +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
Tobias Witek
b710900875 [screenshots] Add amixer screenshot 2017-03-16 07:53:17 +01:00