Created
May 19, 2022 06:49
-
-
Save jffz/dfbba82af0be66a1619a76c2ef246724 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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