Skip to content

Instantly share code, notes, and snippets.

@jffz
Created May 19, 2022 06:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jffz/dfbba82af0be66a1619a76c2ef246724 to your computer and use it in GitHub Desktop.
Save jffz/dfbba82af0be66a1619a76c2ef246724 to your computer and use it in GitHub Desktop.
#!/usr/bin/python3
import argparse
CURR = "/sys/class/backlight/intel_backlight/brightness"
MAX = "/sys/class/backlight/intel_backlight/max_brightness"
def current_brightness():
with open(CURR, 'r') as f:
return int(f.read())
def max_brightness():
with open(MAX, 'r') as f:
return int(f.read())
def set_brightness(mode: str, cnt: int):
up_modes = ['add', 'increase', 'inc', 'up', '+']
down_modes = ['remove', 'del', 'decrease', 'decr', 'down', 'lower', '-']
b_curr = current_brightness()
b_max = max_brightness()
if mode in up_modes and b_curr != b_max :
b_new = b_curr + cnt
if b_new > b_max:
b_new = b_max
elif mode in down_modes:
b_new = b_curr - cnt
if b_new < 1:
b_new = 1
else:
return
with open(CURR, 'w') as f:
f.write(str(b_new))
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Screen brightness manager')
parser.add_argument('mode', metavar='m', type=str, help='Up/Down')
parser.add_argument('count', metavar='c', type=int, help='By how much change the brightness setting')
args = parser.parse_args()
set_brightness(args.mode, args.count)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment