#!/usr/bin/python
import subprocess
import argparse
import sys
STEP = 0.05
def get_brightness():
proc = subprocess.run(['xrandr', '--verbose'], universal_newlines=True,
check=True, stdout=subprocess.PIPE)
for line in proc.stdout.splitlines():
fields = line.split()
if fields and fields[0] == 'Brightness:':
return float(fields[1])
def get_output():
proc = subprocess.run(['xrandr', '--listmonitors'],
universal_newlines=True, check=True,
stdout=subprocess.PIPE)
for line in proc.stdout.splitlines():
if line.startswith(' '):
name = line.split()[3]
if name.startswith('eDP'):
return name
raise Exception("Output not found")
def validate_arg(arg):
if arg in ['up', 'down']:
return arg
return float(arg)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('action', type=validate_arg)
action = parser.parse_args().action
output = get_output()
brightness = get_brightness()
if action == 'up':
if brightness == 1.0:
sys.exit(0)
brightness += STEP
elif action == 'down':
if brightness == 0:
sys.exit(0)
brightness -= STEP
else:
brightness = action
subprocess.run(['xrandr', '--output', output, '--brightness',
str(brightness)], check=True)
if __name__ == '__main__':
main()
{"text":"text","html5":"html","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"lua","bash":"sh","erlang":"erlang","go":"golang","c":"c_cpp","cpp":"c_cpp","diff":"diff","latex":"latex","sql":"sql","xml":"xml","0":"text","abap":"abap","actionscript":"actionscript","actionscript3":"actionscript","ada":"ada","apache":"apache_conf","applescript":"applescript","asm":"assembly_x86","autohotkey":"autohotkey","closure":"closure","cobol":"cobol","coffeescript":"coffee","cpp-winapi":"c_cpp","c_loadrunner":"c_cpp","c_mac":"c_cpp","c_winapi":"c_cpp","csharp":"csharp","d":"d","dart":"dart","dot":"dot","eiffel":"eiffel","fortran":"fortran","groovy":"groovy","haskell":"haskell","haxe":"haxe","ini":"ini","io":"io","java":"java","java5":"java","make":"makefile","matlab":"matlab","mysql":"mysql","objc":"objectivec","ocaml":"ocaml","pascal":"pascal","perl":"perl","perl6":"perl","postgresql":"pgsql","powershell":"powershell","prolog":"prolog","properties":"properties","rails":"ruby","rust":"rust","scala":"scala","scheme":"scheme","smarty":"smarty","tcl":"tcl","vala":"vala","vb":"vbscript","verilog":"verilog","vhdl":"vhdl","yaml":"yaml"}