bumblebee-status/bumblebee/output.py
Tobias Witek ea27ccb2c1 [output] Add waiting capability to output
Engine now calls wait on output for further data, is interrupted
on new data.
2016-11-04 21:10:21 +01:00

49 lines
1.1 KiB
Python

import threading
class Output(object):
def __init__(self, args):
self._callbacks = {}
self._wait = threading.Condition()
self._wait.acquire()
def redraw(self):
self._wait.acquire()
self._wait.notify()
self._wait.release()
def add_callback(self, cmd, button, module=None):
if module:
module = module.replace("bumblebee.modules.", "")
self._callbacks[(
button,
module,
)] = cmd
def callback(self, event):
cb = self._callbacks.get((
event.get("button", -1),
event.get("name", None),
), None)
if cb is not None: return cb
cb = self._callbacks.get((
event.get("button", -1),
None,
), None)
return cb
def wait(self, interval):
self._wait.wait(interval)
def start(self):
pass
def add(self, obj, theme):
pass
def get(self):
pass
def stop(self):
pass
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4