diff --git a/bumblebee_status/core/module.py b/bumblebee_status/core/module.py index ba06848..dfc229e 100644 --- a/bumblebee_status/core/module.py +++ b/bumblebee_status/core/module.py @@ -154,8 +154,9 @@ class Module(core.input.Object): """ def add_widget(self, full_text="", name=None): - widget = core.widget.Widget(full_text=full_text, name=name, module=self) + widget = core.widget.Widget(full_text=full_text, name=name) self.widgets().append(widget) + widget.module = self return widget """Convenience method to retrieve a named widget diff --git a/bumblebee_status/core/widget.py b/bumblebee_status/core/widget.py index ea6e6be..dd9fe1f 100644 --- a/bumblebee_status/core/widget.py +++ b/bumblebee_status/core/widget.py @@ -1,15 +1,19 @@ +import logging + import core.input import core.decorators import util.store import util.format +log = logging.getLogger(__name__) + class Widget(util.store.Store, core.input.Object): - def __init__(self, full_text="", name=None, module=None): + def __init__(self, full_text="", name=None): super(Widget, self).__init__() self.__full_text = full_text - self.module = module + self.module = None self.name = name @property @@ -27,6 +31,13 @@ class Widget(util.store.Store, core.input.Object): custom_ids = util.format.aslist(module.parameter("id")) if len(custom_ids) > self.index(): self.id = custom_ids[self.index()] + if util.format.asbool(module.parameter("scrolling", False)) == True: + if callable(self.__full_text): + self.__full_text = core.decorators.scrollable( + self.__full_text.__func__ + ).__get__(module) + else: + log.warning("unable to make scrollable: {}".format(module.name)) def index(self): if not self.module: diff --git a/bumblebee_status/modules/contrib/network_traffic.py b/bumblebee_status/modules/contrib/network_traffic.py index b90c1c5..bd1a9b6 100644 --- a/bumblebee_status/modules/contrib/network_traffic.py +++ b/bumblebee_status/modules/contrib/network_traffic.py @@ -32,9 +32,6 @@ class Module(core.module.Module): ] super().__init__(config, theme, widgets) - self.widgets()[0].module = self - self.widgets()[1].module = self - self.widgets()[0].set("theme.minwidth", "0000000KiB/s") self.widgets()[1].set("theme.minwidth", "0000000KiB/s") diff --git a/docs/FAQ.rst b/docs/FAQ.rst index c2a1513..ff00d23 100644 --- a/docs/FAQ.rst +++ b/docs/FAQ.rst @@ -14,11 +14,11 @@ If that is not an acceptable solution, here are different ways to step back to the last stable version: git - ``git checkout v1.10`` + ``git checkout v1.10.4`` pip - ``pip install --user --force-reinstall bumblebee-status==1.10`` + ``pip install --user --force-reinstall bumblebee-status==1.10.4`` aur - TODO + ``# checkout rev. 9a53906a0decf30946c22976c8b4f34ab4354d74 from https://aur.archlinux.org/bumblebee-status.git` My bar doesn’t show any background colors ----------------------------------------- diff --git a/docs/other/NOTES.md b/docs/other/NOTES.md index 4ff62c4..d6dd4d8 100644 --- a/docs/other/NOTES.md +++ b/docs/other/NOTES.md @@ -10,6 +10,7 @@ ## Improvements - app launcher (list of apps, themeable) +- github pages? ## TODO - themes: use colors to improve theme readability