#!/usr/bin/env perl # # x2lilo: Creates lilo settings from your XFree modelines # Author: Christian Birchinger # # Argument check for ($i = 0; $i < 10 ; $i++) { if ( $ARGV[$i] eq "" ) { print "Usage: \"\\" DCF HR SH1 SH2 HFL VR SV1 SV2 VFL\n"; print "exmple: \"800x600\" 50 800 856 976 1040 600 637 643 666\n"; exit 1 } } # Reading arguments ($name,$dcf,$hr,$sh1,$sh2,$hfl,$vr,$sv1,$sv2,$vfl) = @ARGV; # Calculate xres + yres if ( $name =~ /\d+[xX]\d+/ ) { ($xres,$yres) = $name =~ /(\d+)[xX](\d+)/; } else { $xres = ''; $yres = ''; } # Calculate pixclock $pixclock = 1000000 / $dcf; if ( $pixclock =~ /\d+\.[5-9]/ ) { $pixclock = int $pixclock + 1; } else { $pixclock = int $pixclock; } # Calculate right + left + upper + lower + vslen + hslen $right = $sh1 - $hr; $left = $hfl - $sh2; $upper = $vfl - $sv2; $lower = $sv1 - $vr; $vslen = $sv2 - $sv1; $hslen = $sh2 - $sh1; print "video=:xres:$xres,yres:$yres,pixclock:$pixclock,right:$right,left:$left,upper:$upper,lower:$lower,vslen:$vslen,hslen:$hslen,depth:\n";