Die Fortran-Lösung.
Aus dem Linux-Home-Verzeichnis ein Unterverzeichnis erstellen /mygamma/
Das mygamma Verzeichnis enthält sechs Dateien: 2 Fortran - Programm Skripte: contrastdown.f90
und contrastup.f90
die ausführbaren Dateien gammadown
und gammaup
und eine shebang Datei xgammasave
, die den aktuellen xgamma Wert in eine Textdatei speichertxgammaval.txt
Die xgammasave-Datei sieht folgendermaßen aus:
#!/bin/bash xgamma |& tee ~/mygamma/xgammaval.txt
Die contrastup.f90
Datei sieht so aus:
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
und 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
Machen Sie die ausführbaren Fortran-Dateien gammaup
und gammadown
:
~/mygamma $ gfortran contrastup.f90 -o gammaup ~/mygamma $ gfortran contrastdown.f90 -o gammadown
Wählen Sie je nach Linux-Variante unter Control Center> Tastenkombinationen unter "Benutzerdefinierte Tastenkombinationen" die Option "Hinzufügen" aus. Geben Sie im Namensfeld den Namen der Tastenkombination "Gamma erhöhen" ein. Geben Sie in das Befehlsfeld auch die Option /home/my_name/mygamma/gammaup
"Weniger Kontrast" ein Taste mit Befehl/home/my_name/mygamma/gammadown
Auf meinem Laptop FnF6und FnF5sind die Standard - Helligkeit nach oben / unten Tasten, über sie nun die neu definiert ShiftF6und ShiftF5ist der Kontrast Tasten auf / ab. Vintage-Schwarzweiß-Filme sehen jetzt auf dem glänzenden Bildschirm gut aus :)
Kann die Fortran-Lösung zu Code Golf
weniger Zeilen führen.