diff --git a/bumblebee/modules/brightness.py b/bumblebee/modules/brightness.py index 749f608..0e82351 100644 --- a/bumblebee/modules/brightness.py +++ b/bumblebee/modules/brightness.py @@ -13,26 +13,29 @@ import bumblebee.input import bumblebee.output import bumblebee.engine + class Module(bumblebee.engine.Module): def __init__(self, engine, config): super(Module, self).__init__(engine, config, - bumblebee.output.Widget(full_text=self.brightness) - ) + bumblebee.output.Widget(full_text=self.brightness)) self._brightness = 0 self._device_path = self.parameter("device_path", "/sys/class/backlight/intel_backlight") step = self.parameter("step", 2) if bumblebee.util.which("light"): - engine.input.register_callback(self, button=bumblebee.input.WHEEL_UP, - cmd="light -A {}%".format(step)) - engine.input.register_callback(self, button=bumblebee.input.WHEEL_DOWN, - cmd="light -U {}%".format(step)) + self.register_cmd(engine, "light -A {}%".format(step), + "light -U {}%".format(step)) + elif bumblebee.util.which("brightnessctl"): + self.register_cmd(engine, "brightnessctl s {}%+".format(step), + "brightnessctl s {}%-".format(step)) else: - engine.input.register_callback(self, button=bumblebee.input.WHEEL_UP, - cmd="xbacklight +{}%".format(step)) - engine.input.register_callback(self, button=bumblebee.input.WHEEL_DOWN, - cmd="xbacklight -{}%".format(step)) + self.register_cmd(engine, "xbacklight +{}%".format(step), + "xbacklight -{}%".format(step)) + + def register_cmd(self, engine, upCmd, downCmd): + engine.input.register_callback(self, button=bumblebee.input.WHEEL_UP, cmd=upCmd) + engine.input.register_callback(self, button=bumblebee.input.WHEEL_DOWN, cmd=downCmd) def brightness(self, widget): if isinstance(self._brightness, float): @@ -46,7 +49,7 @@ class Module(bumblebee.engine.Module): backlight = int(f.readline()) with open("{}/max_brightness".format(self._device_path)) as f: max_brightness = int(f.readline()) - self._brightness = float(backlight*100/max_brightness) + self._brightness = float(backlight * 100 / max_brightness) except: return "Error"