1
0
Fork 0
mirror of https://github.com/SeriousBug/dotfiles synced 2024-11-01 03:27:26 -05:00
dotfiles/sway/backlight.py

45 lines
1.5 KiB
Python
Raw Normal View History

2022-03-09 21:01:45 -06:00
#!/usr/bin/env python3
import argparse
from decimal import Clamped
parser = argparse.ArgumentParser(
"backlight.py", description="Adjust backlight levels for intel backlight."
)
# You can either set min or max, or change some amount. Not all.
group = parser.add_mutually_exclusive_group(required=False)
group.add_argument(
"change",
type=int,
nargs="?",
help="The mount, as a percentage, to change the brightness by. Negative numbers lower brightness.",
)
group.add_argument(
"--max", action="store_true", help="Set the brightness to max possible."
)
group.add_argument("--off", action="store_true", help="Set the brightness to 0.")
def backlight(file_name: str) -> str:
return f"/sys/class/backlight/intel_backlight/{file_name}"
args = parser.parse_args()
with open(backlight("max_brightness"), "r") as max_f:
max_brightness = int(max_f.read().strip())
with open(backlight("brightness"), "w+") as current_f:
current_brightness = int(current_f.read().strip())
if args.max:
current_f.write(str(max_brightness))
elif args.off:
current_f.write(str(0))
elif args.change:
percent = int(max_brightness / 100.0)
to = current_brightness + percent * args.change
# Make sure number is in bounds
# Bounding min at 1 to avoid fully shutting down screen without the off option
to = max(min(to, max_brightness), 1)
current_f.write(str(to))
else:
print(int((current_brightness / float(max_brightness)) * 100))