home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / sax / profile / Intel_DualHead.pl < prev    next >
Perl Script  |  2006-11-29  |  2KB  |  66 lines

  1. #!/usr/bin/perl
  2.  
  3. use lib '/usr/share/sax/profile';
  4.  
  5. use strict;
  6. use Profile;
  7.  
  8. #====================================
  9. # DualHead check
  10. #------------------------------------
  11. if ($ARGV[0] eq "check") {
  12.     print "dual\n";
  13.     exit 0;
  14. }
  15.  
  16. #====================================
  17. # Init profile script
  18. #------------------------------------
  19. my $profile = ProfileInitScript();
  20.  
  21. #====================================
  22. # Do the profile adaptions...
  23. #------------------------------------
  24. my $mlayout = ProfileIntelSetupMonitorLayout ($profile);
  25.  
  26. open (FD,">>",$profile) ||
  27.     die "Intel_DualHead: Can't open $profile: $!";
  28. print FD "Device->[X]->Raw->20->Option=\"MonitorLayout\" \"$mlayout\"\n";
  29. print FD "Device->[X+1]->Raw->20->Option=\"MonitorLayout\" \"$mlayout\"\n";
  30. #====================================
  31. # check secondary DDC data
  32. #------------------------------------
  33. my %data = ProfileGetDDC2Data();
  34. foreach my $key (keys %data) {
  35.     my $val = $data{$key};
  36.     SWITCH: for ($key) {
  37.         /^Model/      && do {
  38.             print FD "Monitor -> [X+1] -> ModelName = $val\n";
  39.             last SWITCH;
  40.         };
  41.         /^Vendor/     && do {
  42.             print FD "Monitor -> [X+1] -> VendorName = $val\n";
  43.             last SWITCH;
  44.         };
  45.         /^Resolution/ && do {
  46.             foreach my $depth (8,15,16,24) {
  47.                 print FD "Screen -> [X+1] -> Depth->$depth->Modes = $val\n";
  48.             }
  49.             last SWITCH;
  50.         };
  51.         /^Hsync/      && do {
  52.             print FD "Monitor -> [X+1] -> HorizSync = $val\n";
  53.             last SWITCH;
  54.         };
  55.         /^Vsync/      && do {
  56.             print FD "Monitor -> [X+1] -> VertRefresh = $val\n";
  57.             last SWITCH;
  58.         };
  59.         /^Size/       && do {
  60.             print FD "Monitor -> [X+1] -> DisplaySize = $val\n";
  61.             last SWITCH;
  62.         };
  63.     }
  64. }
  65. close FD;
  66.