Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 14. Dez 2018 16:21

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Gammaregler für Gnome Desktop
BeitragVerfasst: 31. Okt 2007 13:18 
Offline
Benutzeravatar

Registriert: 06. Mai 2006 19:58
Beiträge: 252
Hallo,

wie ich bereits im folgenden Thread geschrieben hatte, konnte ich keine grafischen Gammaregler unter Gnome finden.

viewtopic.php?t=1033324

Ich habe deshalb das bereits vorgestellte Perlscript überarbeitet und anschließend unter SuSE10.3 und Ubuntu 6.10 getestet:
Code:
#!/usr/bin/perl -w

#Das Programm wurde von hastifranki am 31.10.2007 erstellt.
#http://www.pl-forum.de/forum/profile.php?mode=viewprofile&u=15089&sid=9b9bec246c0262a11d05b06ae01632e2
#
#Es ist für den Gnome Desktop gedacht und soll die Gammaeinstellungen für Laptopnutzer vereinfachen.
#
#Das Paket perl-Gtk2 wird benötigt. Weiterhin wird xgamma benötigt. D.h., das Programm läuft nicht mit Xgl (3D).

use strict ;

use Gtk2 '-init' ;

use constant TRUE => 1 ;
use constant FALSE => 0 ;

#Konfigurationsdaten:
my $maxw = 10.0; 	#Werte bis 100 sind möglich
my $digit = TRUE;	#Die Werte TRUE und FALSE sind möglich
my $awert = 5;		#Anfangswert

system("xgamma -gamma 0.".$awert);	

# ein Standardfenster erstellen:
my $window = Gtk2::Window->new( "toplevel" ) ;
$window->set_title( "Gamma_GUI" ) ;
$window->signal_connect( "destroy" , sub { Gtk2->main_quit ; } ) ;

# einen Rahmen erstellen:
my $frame = Gtk2::Frame->new ("  Gammawert einstellen:  ");
$frame->set_border_width(1);

# Box1 erstellen
my $box1 = Gtk2::VBox->new( FALSE, 0 ) ;

# Die Pfeiltasten ermöglichen:
my $bwert = 0.5;
if ($digit==0) {$bwert = 1};

# Gammaregler
my $adj2 = Gtk2::Adjustment->new( $awert , 1.0 , $maxw , $bwert , $bwert , 0.0 ) ;
$adj2->signal_connect( "value_changed" , \&xgamma_aufrufen ) ;
my $scale2 = Gtk2::HScale->new( $adj2 ) ;
$scale2->set_digits( $digit ) ;
$box1->pack_start( $scale2, TRUE, TRUE, 0 ) ;

# OK-Knopf
my $button = Gtk2::Button->new_from_stock( "gtk-ok" ) ;
$button->signal_connect( "clicked" , sub { Gtk2->main_quit() ; } ) ;
$box1->pack_start( $button, TRUE, TRUE, 0 ) ;

$frame->add( $box1 ) ;
$window->add( $frame ) ;

$window->show_all();

Gtk2->main ;

sub xgamma_aufrufen
{
my ( $adj ) = @_ ;
my $wert = ($adj->value)/10;
$wert =~ s/,/./;
system("xgamma -gamma ".$wert);
}
Am Anfang des Scripts können die Konfigurationsdaten verändert werden.

Auf die Regler für rot, grün, blau habe ich verzichtet, da diese von mir nicht benötigt werden. Bei Bedarf könnten diese noch angefügt werden.

Viele Grüße
Frank


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 19. Mai 2008 19:33 
Hallo, vielen danke für das Script. Ich habe es noch etwas angepasst um eine feinere Einstellung vornehmen zu können.
Code:
#!/usr/bin/perl -w

use strict;
use Glib qw/TRUE FALSE/;
use Gtk2;

my $window;
my $frame;
my $box;
my $hbox_btn;
my $btn_up;
my $btn_down;
my $btn_exit;
my $gamma0;
my $gamma1;
my $gamma_vorkomma = 1;
my $gamma_nachkomma = 0;

Gtk2->init();

#create main window
$window = Gtk2::Window->new('toplevel');
$window->set_title("Gamma_GUI");
$window->signal_connect(destroy => sub { Gtk2->main_quit(); });

# create containers
$frame = Gtk2::Frame->new ("Helligkeit einstellen:");
$frame->set_border_width(4);
$box = Gtk2::VBox->new();
$hbox_btn = Gtk2::HBox->new();
$hbox_btn->set_homogeneous(TRUE);

$gamma0 = "xgamma -gamma ";

# create up button
$btn_up = Gtk2::Button->new_from_stock('up');
$btn_up->signal_connect(
	clicked => sub {
		if &#40;$gamma_vorkomma < 10&#41; &#123;
			if &#40;$gamma_nachkomma == 9&#41; &#123;
				$gamma_nachkomma = 0;	
				$gamma_vorkomma++;
			&#125;else&#123;
				$gamma_nachkomma++;	
			&#125;
		      	$gamma1 = $gamma0 . $gamma_vorkomma . "." . $gamma_nachkomma;      
		      	system&#40;$gamma1&#41;;
		&#125;;
	&#125;	
&#41;;

# create down button
$btn_down = Gtk2&#58;&#58;Button->new_from_stock&#40;'down'&#41;;
$btn_down->signal_connect&#40;
	clicked => sub &#123;
		if &#40;$gamma_vorkomma > 0&#41; &#123;
			if &#40;$gamma_nachkomma == 0&#41; &#123;
				$gamma_nachkomma = 9;
				$gamma_vorkomma--;	
			&#125;else&#123;
				$gamma_nachkomma--;	
			&#125;
		      	$gamma1 = $gamma0 . $gamma_vorkomma . "." . $gamma_nachkomma;    
		      	system&#40;$gamma1&#41;;
		&#125;;
		if&#40;$gamma_vorkomma == 0 && $gamma_nachkomma > 1&#41; &#123;
			$gamma_nachkomma--;	
		      	$gamma1 = $gamma0 . $gamma_vorkomma . "." . $gamma_nachkomma;    
		      	system&#40;$gamma1&#41;;
		&#125;;
	&#125;
&#41;;

# create exit button
$btn_exit = Gtk2&#58;&#58;Button->new_from_stock&#40;'gtk-cancel'&#41;;
$btn_exit->signal_connect&#40;clicked => sub &#123; Gtk2->main_quit&#40;&#41;; &#125;&#41;;

$hbox_btn->pack_start&#40;$btn_up, FALSE, TRUE, 5&#41;;
$hbox_btn->pack_start&#40;$btn_down, FALSE, TRUE, 5&#41;;
$hbox_btn->pack_start&#40;$btn_exit, FALSE, TRUE, 5&#41;;
$box->add&#40;$hbox_btn&#41;;
$frame->add&#40;$box&#41;;
$window->add&#40;$frame&#41;;

# show all widgets
$window->show_all&#40;&#41;;

# start Gtk2 main event loop
Gtk2->main&#40;&#41;;

exit 0;
Gruß,
Esco


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de