#!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import sys from subprocess import Popen, PIPE ''' Hack to enforce UTF-8 in output (in the future, if you see anypony not using utf-8 in programs by default, report them to Princess Celestia so she can banish them to the moon) ''' def print(text = '', end = '\n'): sys.stdout.buffer.write((str(text) + end).encode('utf-8')) ''' This is the mane class of the program ''' class Adjbacklight(): def __init__(self): #Popen('stty -icanon'.split(' '), stderr=os.fdopen(2, 'w')).wait() try: dir = '/sys/class/backlight/intel_backlight/' (size, dummy) = Popen('stty size'.split(' '), stdout=PIPE, stderr=PIPE).communicate() width = int(size.decode('UTF-8').replace('\n', '').split(' ')[1]) with open(dir + 'brightness', 'r') as file: current = int(file.readline().replace('\n', '')) with open(dir + 'max_brightness', 'r') as file: max = int(file.readline().replace('\n', '')) self.__interface(0, current, max, width, dir + 'brightness') finally: pass#Popen('stty icanon'.split(' '), stderr=os.fdopen(2, 'w')).wait() def __interface(self, min, cur, max, width, file): step = (max - min) // 100 while (True): print(sys.stdin.buffer.read1()) ''' Start the program from Adjbacklight.__init__ if this is the executed file ''' if __name__ == '__main__': Adjbacklight()