Teclas de função de contraste do laptop

0

No meu lustroso LCD de ângulo de visão estreito, além do brilho, gostaria de poder ajustar o contraste pressionando uma tecla de função.

No prompt de comando do console:

 ~ $ xgamma                     

retorna:

 Red  0.900, Green  0.900, Blue  0.900

Eu gostaria de construir uma linha de comando que leva o último campo retornado de 0,900 para multiplicá-lo por 1,1 (para obter 0,990) e usar esse resultado como valor de entrada para:

~ $  xgamma -gamma 0.990 

Uma linha de comando ao longo das linhas de:

~$ xgamma | last / 1.1 | xgamma -gamma

Em seguida, usando meu layout de teclado como exemplo e usando a distro dependente: Control Center > Atalhos de teclado, podemos definir uma tecla de função Shift F5 mais contrastante acima da tecla de função de brilho existente Fn F5 . Para menos contraste, multiplique por 1,1

    
por eromana 12.02.2017 / 21:25

1 resposta

0

A solução Fortran.

No diretório inicial do Linux, crie um subdiretório /mygamma/

O diretório mygamma contém seis arquivos: 2 scripts de programas fortran: contrastdown.f90 e contrastup.f90 , seus executáveis gammadown e gammaup , e um arquivo shebang xgammasave que salva o valor atual do xgamma em um arquivo de texto xgammaval.txt

O arquivo xgammasave tem esta aparência:

#!/bin/bash

xgamma |& tee ~/mygamma/xgammaval.txt

O arquivo contrastup.f90 tem esta aparência:

program contrastup

 character(len=20):: string,string2,string3 ! variable type declarations

 real(kind(1.0)) :: x

 call system('/home/my_name/mygamma/xgammasave') ! write the xgamma value to a file

 open(unit=2,file='/home/my_name/mygamma/xgammaval.txt',action='read',status='old')

 read(unit=2,fmt=*)string,string2,string3 ! read the file

 read(string3,*)x            ! make a real from a string

 x=x/1.2                     ! change the contrast

  if (x .le. 0.1) goto 10    ! xgamma value can not be less than 0.1

 write(string,*)x            ! make a string from a real

 string2='xgamma -gamma ' // trim(string) ! concatenate 2 strings

 call system(string2)        ! pass the string to the command line

10 close(unit=2)

end program contrastup

e contrastdown.f90

program contrastdown

 character(len=20):: string,string2,string3 ! variable type declarations

 real(kind(1.0)) :: x

 call system('/home/my_name/mygamma/xgammasave')  ! write xgamma value to a file

 open(unit=2,file='/home/my_name/mygamma/xgammaval.txt',action='read',status='old')

 read(unit=2,fmt=*)string,string2,string3 ! read the record

 read(string3,*)x             ! make a real from a string

 x=x*1.2                      ! change the contrast

  if (x .ge. 10.0) goto 10   ! xgamma value can not be greater than 10.0

 write(string,*)x             ! make a string from a real

 string2='xgamma -gamma ' // trim(string) ! concatenate two strings

 call system(string2)         ! pass the string to the command line

10 close(unit=2)

end program contrastdown

Crie os arquivos executáveis do Fortran gammaup e gammadown :

~/mygamma $ gfortran contrastup.f90 -o gammaup  

~/mygamma $ gfortran contrastdown.f90 -o gammadown 

Dependendo do sabor do Linux, no Centro de controle > Atalhos de teclado, em 'Atalhos personalizados', selecione 'adicionar', no campo de nome digite o nome da tecla de atalho 'aumentar gama' e na caixa de comando digite /home/my_name/mygamma/gammaup e da mesma forma para a tecla 'menor contraste' com o comando /home/my_name/mygamma/gammadown

No meu laptop Fn F6 e Fn F5 são as teclas de brilho para cima / baixo padrão, agora acima deles os novos Shift F6 e Shift F5 são as teclas de subida / descida do contraste. Filmes vintage preto e branco agora ficam bem na tela brilhante:)

A solução Fortran pode ser Code Golf para menos linhas.

    
por 24.06.2017 / 00:01