Onde o script de brilho do laptop está localizado?

1

Online encontrei o comando:

echo 1 > /sys/class/backlight/acpi_video0/brightness

para definir o brilho da minha tela para o valor mais baixo possível, atualmente estou percorrendo meu disco inteiro para esse caminho, procurando onde o script de hotkey do laptop está, então posso alterar o tamanho da etapa para 1 (então, pressionar minhas teclas de atalho só mudaria o brilho em 1 por cento). Eu sei que algumas pessoas podem achar isso lento, mas eu sou realmente crítico do meu brilho de tela noturno, e a extremidade inferior do intervalo é muito mais perceptível, assim meu desejo de ter um bom controle sobre ele.

    
por nmz787 19.10.2014 / 08:24

1 resposta

2

Não consegui encontrar a resposta para a minha pergunta (o que seria conveniente), mas em vez disso codifiquei uma GUI do Python com um controle deslizante . Eu fiz duas versões, uma com o wxPython e outra com o Tk.

Aqui está a versão do tk, que é mais curta:

import os
import subprocess
from Tkinter import *

class BrightnessSlider(object):
    find_max_brightness_cmd = ['cat', '/sys/class/backlight/intel_backlight/max_brightness']
    find_brightness_cmd = ['cat', '/sys/class/backlight/intel_backlight/actual_brightness']

    def __init__(self, master):
        min_brightness = 92
        p1 = subprocess.Popen(self.find_brightness_cmd,
                              stdout=subprocess.PIPE)
        p2 = subprocess.Popen(self.find_max_brightness_cmd,
                              stdout=subprocess.PIPE)
        current_brightness, stderr = p1.communicate()
        max_brightness, stderr = p2.communicate()

        self.slider = Scale(master,
                  from_=int(min_brightness),
                  to=int(max_brightness),
                  orient=HORIZONTAL,
                  command=self.on_slide)
        self.slider.set(current_brightness)
        self.slider.pack()
        self.slider.focus_set()

    def on_slide(self, new_value):
        self.set_brightness(new_value)

    def set_brightness(self, new_val):
        with open('/sys/class/backlight/intel_backlight/brightness', 'w') as f:
            f.write(new_val)


if __name__ == "__main__":
    master = Tk()
    b = BrightnessSlider(master)
    mainloop()
    
por nmz787 12.12.2014 / 06:53