Menu

ScreenResolutionMenu

Juan Jose Pablos

Last modified 4 years ago Last modified on 19/07/10 18:51:41

From an email fro Jason Oster: ​https://sourceforge.net/mailarchive/forum.php?thread_name=4947D4B1.3090005%40campnavajo.com&forum_name=unattended-info

# File to hold site-specific customizations.

# Enable maximum warnings and disallow sloppy constructs.
use warnings;
use strict;

# Screen Resolution menu
my @ScreenRes;

sub ask_screen_res() {
    my $ret = '';
    while (scalar @ScreenRes < 4) {
        $ret = menu_choice (
            '1680 x 1050, 32-bit @ 60hz (19"+ 16:9 LCD)' => '1680x1050x32x60',
            '1280 x 1024, 32-bit @ 75hz (17"+ 4:3 CRT/LCD)' => '1280x1024x32x75',
            '1024 x 768, 24-bit @ 60hz (15" 4:3 CRT)' => '1024x768x24x60',
            'Other' => undef
        );

        $ret or $ret =
                simple_q('Horizontal resolution (e.g. 1024): ') . 'x' .
                simple_q('Vertical resolution (e.g. 768): ') . 'x' .
                simple_q('Bits per pixel (e.g. 24): ') . 'x' .
                simple_q('Refresh rate (e.g. 60): ');
        @ScreenRes = split /x/, $ret;

        print 'Selected Screen Resolution: ' . $ScreenRes[0] . ' x ' . $ScreenRes[1] . ', ' . $ScreenRes[2] . '-bit @ ' . $ScreenRes[3] . "hz\n";
    }

    return @ScreenRes;
}

$u->{'Display'}->{'Xresolution'} =
    sub {
        my @ret = ask_screen_res();
        return $ret[0];
    };

$u->{'Display'}->{'Yresolution'} =
    sub {
        my @ret = ask_screen_res();
        return $ret[1];
    };

$u->{'Display'}->{'BitsPerPel'} =
    sub {
        my @ret = ask_screen_res();
        return $ret[2];
    };

$u->{'Display'}->{'VRefresh'} =
    sub {
        my @ret = ask_screen_res();
        return $ret[3];
    };

# Make this file evaluate to "true".
1;

Related

Wiki: Scripts

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.