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 / Matrox_DualHead.pl < prev    next >
Perl Script  |  2006-11-29  |  1KB  |  62 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. open (FD,">>",$profile) ||
  25.     die "Matrox_DualHead: Can't open $profile: $!";
  26. #====================================
  27. # check secondary DDC data
  28. #------------------------------------
  29. my %data = ProfileGetDDC2Data();
  30. foreach my $key (keys %data) {
  31.     my $val = $data{$key};
  32.     SWITCH: for ($key) {
  33.         /^Model/      && do {
  34.             print FD "Monitor -> [X+1] -> ModelName = $val\n";
  35.             last SWITCH;
  36.         };
  37.         /^Vendor/     && do {
  38.             print FD "Monitor -> [X+1] -> VendorName = $val\n";
  39.             last SWITCH;
  40.         };
  41.         /^Resolution/ && do {
  42.             foreach my $depth (8,15,16,24) {
  43.                 print FD "Screen -> [X+1] -> Depth->$depth->Modes = $val\n";
  44.             }
  45.             last SWITCH;
  46.         };
  47.         /^Hsync/      && do {
  48.             print FD "Monitor -> [X+1] -> HorizSync = $val\n";
  49.             last SWITCH;
  50.         };
  51.         /^Vsync/      && do {
  52.             print FD "Monitor -> [X+1] -> VertRefresh = $val\n";
  53.             last SWITCH;
  54.         };
  55.         /^Size/       && do {
  56.             print FD "Monitor -> [X+1] -> DisplaySize = $val\n";
  57.             last SWITCH;
  58.         };
  59.     }
  60. }
  61. close FD;
  62.