diff --git a/modules/contrib/twmn.py b/modules/contrib/twmn.py index 1ebb61c..b1ad74b 100644 --- a/modules/contrib/twmn.py +++ b/modules/contrib/twmn.py @@ -2,38 +2,37 @@ """Toggle twmn notifications.""" -import bumblebee.input -import bumblebee.output -import bumblebee.engine +import core.module +import core.widget +import core.input +import core.decorators +import util.cli -class Module(bumblebee.engine.Module): - def __init__(self, engine, config): - super(Module, self).__init__(engine, config, - bumblebee.output.Widget(full_text="") - ) - self._paused = False +class Module(core.module.Module): + @core.decorators.every(minutes=60) + def __init__(self, config): + super().__init__(config, core.widget.Widget('')) + + self.__paused = False # Make sure that twmn is currently not paused - try: - bumblebee.util.execute("killall -SIGUSR2 twmnd") - except: - pass - engine.input.register_callback(self, button=bumblebee.input.LEFT_MOUSE, - cmd=self.toggle_status - ) + util.cli.execute('killall -SIGUSR2 twmnd', ignore_errors=True) + core.input.register(self, button=core.input.LEFT_MOUSE, cmd=self.toggle_status) def toggle_status(self, event): - self._paused = not self._paused + self.__paused = not self.__paused try: - if self._paused: - bumblebee.util.execute("systemctl --user start twmnd") + if self.__paused: + util.cli.execute('systemctl --user start twmnd') else: - bumblebee.util.execute("systemctl --user stop twmnd") + util.cli.execute('systemctl --user stop twmnd') except: - self._paused = not self._paused # toggling failed + self.__paused = not self.__paused # toggling failed def state(self, widget): - if self._paused: - return ["muted"] - return ["unmuted"] + if self.__paused: + return ['muted'] + return ['unmuted'] + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4