[widgets] Pass through some information to the underlying module object

For determining status, critical/warning state, etc. simply let the
widget pass through a call to the underlying object.
This commit is contained in:
Tobias Witek 2016-11-05 12:14:33 +01:00
parent 2f0cc30c38
commit 73d62d7ded
2 changed files with 8 additions and 12 deletions

View file

@ -33,7 +33,7 @@ class Module(bumblebee.module.Module):
def widgets(self):
return [
bumblebee.output.Widget(
bumblebee.output.Widget(self,
datetime.datetime.now().strftime(self._fmt)
)
]

View file

@ -1,4 +1,3 @@
import inspect
import threading
def output(args):
@ -6,27 +5,24 @@ def output(args):
return bumblebee.outputs.i3.Output(args)
class Widget(object):
def __init__(self, text, warning=False, critical=False, state=None):
self._name = inspect.getmodule(inspect.stack()[1][0]).__name__
def __init__(self, obj, text):
self._obj = obj
self._text = text
self._warning = warning
self._critical = critical
self._state = state
def state(self):
return self._state
return self._obj.state()
def warning(self):
return self._warning
return self._obj.warning()
def critical(self):
return self._critical
return self._obj.critical()
def module(self):
return self._name.split(".")[-1]
return self._obj.__module__.split(".")[-1]
def name(self):
return self._name
return self._obj.__module__
def text(self):
return self._text