summaryrefslogtreecommitdiffstats
path: root/.scripts
diff options
context:
space:
mode:
Diffstat (limited to '.scripts')
-rwxr-xr-x.scripts/kb-lights.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/.scripts/kb-lights.py b/.scripts/kb-lights.py
new file mode 100755
index 0000000..f492de0
--- /dev/null
+++ b/.scripts/kb-lights.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+# coding: utf-8
+
+from sys import argv
+import dbus
+
+
+def kb_light_set(delta):
+ bus = dbus.SystemBus()
+ kbd_backlight_proxy = bus.get_object('org.freedesktop.UPower', '/org/freedesktop/UPower/KbdBacklight')
+ kbd_backlight = dbus.Interface(kbd_backlight_proxy, 'org.freedesktop.UPower.KbdBacklight')
+
+ current = kbd_backlight.GetBrightness()
+ maximum = kbd_backlight.GetMaxBrightness()
+ new = max(0, current + delta)
+
+ if 0 <= new <= maximum:
+ current = new
+ kbd_backlight.SetBrightness(current)
+
+ # Return current backlight level percentage
+ return 100 * current / maximum
+
+if __name__ == '__main__':
+ if len(argv[1:]) == 1:
+ if argv[1] == "--up" or argv[1] == "+":
+ # ./kb-light.py (+|--up) to increment
+ print(kb_light_set(1))
+ elif argv[1] == "--down" or argv[1] == "-":
+ # ./kb-light.py (-|--down) to decrement
+ print(kb_light_set(-1))
+ else:
+ print("Unknown argument:", argv[1])
+ else:
+ print("Script takes exactly one argument.", len(argv[1:]), "arguments provided.")