[modules/brightness] Add callbacks for increasing/decreasing brightness

Use xbacklight to increase or decrease brightness when the user uses the
mouse wheel over the brightness widget.
This commit is contained in:
Tobi-wan Kenobi 2016-11-09 19:37:09 +01:00
parent f164aee5c9
commit ba466d5179

View file

@ -3,6 +3,11 @@ import bumblebee.module
def description(): def description():
return "Displays brightness percentage" return "Displays brightness percentage"
def parameters():
return [
"brightness.step: Steps (in percent) to increase/decrease brightness on scroll (defaults to 2)",
]
class Module(bumblebee.module.Module): class Module(bumblebee.module.Module):
def __init__(self, output, config, alias): def __init__(self, output, config, alias):
super(Module, self).__init__(output, config, alias) super(Module, self).__init__(output, config, alias)
@ -10,6 +15,11 @@ class Module(bumblebee.module.Module):
self._max = 0 self._max = 0
self._percent = 0 self._percent = 0
step = self._config.parameter("step", 2)
output.add_callback(module=self.instance(), button=4, cmd="xbacklight +{}%".format(step))
output.add_callback(module=self.instance(), button=5, cmd="xbacklight -{}%".format(step))
def widgets(self): def widgets(self):
with open("/sys/class/backlight/intel_backlight/brightness") as f: with open("/sys/class/backlight/intel_backlight/brightness") as f:
self._brightness = int(f.read()) self._brightness = int(f.read())
@ -20,3 +30,4 @@ class Module(bumblebee.module.Module):
return bumblebee.output.Widget(self, "{:02d}%".format(self._percent)) return bumblebee.output.Widget(self, "{:02d}%".format(self._percent))
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4