Com o script abaixo, você pode definir o brilho da tela de 0.1
para 1.0
, em 9 etapas, em qualquer sistema que "obedeça" xrandr
.
Basta executá-lo com o argumento "up" ou "down" para aumentar / diminuir o brilho atual em um passo.
O script
#!/usr/bin/env python3
import subprocess
import sys
arg = sys.argv[1]
# get the data on screens and current brightness, parsed from xrandr --verbose
current = [l.split() for l in subprocess.check_output(["xrandr", "--verbose"]).decode("utf-8").splitlines()]
# find the name(s) of the screen(s)
screens = [l[l.index("connected")-1] for l in current if "connected" in l]
# find the current brightness
currset = (round(float([l for l in current if "Brightness:" in l][0][1])*10))/10
# create a range of brightness settings (0.1 to 1.0)
sets = [n/10 for n in list(range(11))][1:]
# get the current brightness -step
step = len([n for n in sets if currset >= n])
if arg == "up":
if currset < 1.0:
# calculte the first value higher than the current brightness (rounded on 0.1)
nextbright = (step+1)/10
if arg == "down":
if currset > 0.1:
# calculte the first value lower than the current brightness (rounded on 0.1)
nextbright = (step-1)/10
try:
for scr in screens:
# set the new brightness
subprocess.Popen(["xrandr", "--output", scr, "--brightness", str(nextbright)])
except NameError:
pass
Como usar
- Copie o script em um arquivo vazio, salve-o como
set_brightness.py
-
Teste - execute-o pelos comandos:
python3 /path/to/set_brightness.py up
e
python3 /path/to/set_brightness.py down
-
Se tudo funcionar bem, adicione os dois comandos às teclas de atalho: escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione os dois comandos acima a duas teclas de atalho diferentes.
Explicação
A explicação sobre o código está bem no script:)
Notas
Como está, os scripts definem o brilho igualmente para a tela principal (principal) e possível (s) adicional (is).