diff options
Diffstat (limited to 'perl-install/Xconfig')
-rw-r--r-- | perl-install/Xconfig/card.pm | 8 | ||||
-rw-r--r-- | perl-install/Xconfig/monitor.pm | 4 | ||||
-rw-r--r-- | perl-install/Xconfig/resolution_and_depth.pm | 10 | ||||
-rw-r--r-- | perl-install/Xconfig/xfreeX.pm | 7 |
4 files changed, 14 insertions, 15 deletions
diff --git a/perl-install/Xconfig/card.pm b/perl-install/Xconfig/card.pm index ece4ef2cb..f90e1cf3a 100644 --- a/perl-install/Xconfig/card.pm +++ b/perl-install/Xconfig/card.pm @@ -84,8 +84,8 @@ sub from_raw_X { my ($xfree3_server) = readlink("$::prefix/etc/X11/X") =~ /XF86_(.*)/; my $card = { - use_UTAH_GLX => int(grep { /glx/ } $raw_X->{xfree3}->get_modules), - use_DRI_GLX => int(grep { /dri/ } $raw_X->{xfree4}->get_modules), + use_UTAH_GLX => any { /glx/ } $raw_X->{xfree3}->get_modules, + use_DRI_GLX => any { /dri/ } $raw_X->{xfree4}->get_modules), server => $xfree3_server, prefer_xf3 => $xfree3_server && !$force_xf4, %$device, @@ -284,7 +284,7 @@ sub configure { $card->{prog} = install_server($card, $options, $do_pkgs); if ($card->{needVideoRam} && !$card->{VideoRam}) { - $card->{VideoRam} = first(grep { $_ <= $options->{VideoRam_probed} } reverse ikeys %VideoRams) || 4096; + $card->{VideoRam} = (find { $_ <= $options->{VideoRam_probed} } reverse ikeys %VideoRams) || 4096; $in->ask_from('', N("Select the memory size of your graphics card"), [ { val => \$card->{VideoRam}, type => 'list', @@ -361,7 +361,7 @@ sub multi_head_choices { my @choices; my $has_multi_head = @cards > 1 || $cards[0]{MULTI_HEAD} > 1; - my $disable_multi_head = grep { + my $disable_multi_head = any { $_->{Driver} or log::l("found card $_->{description} not supported by XF4, disabling multi-head support"); !$_->{Driver}; } @cards; diff --git a/perl-install/Xconfig/monitor.pm b/perl-install/Xconfig/monitor.pm index 3d9415dff..8ca3ba935 100644 --- a/perl-install/Xconfig/monitor.pm +++ b/perl-install/Xconfig/monitor.pm @@ -133,7 +133,7 @@ sub configure_automatic { if ($monitor->{EISA_ID}) { log::l("EISA_ID: $monitor->{EISA_ID}"); - if (my ($mon) = grep { lc($_->{EISA_ID}) eq $monitor->{EISA_ID} } @$monitors) { + if (my $mon = find { lc($_->{EISA_ID}) eq $monitor->{EISA_ID} } @$monitors) { add2hash($monitor, $mon); log::l("EISA_ID corresponds to: $monitor->{ModelName}"); } elsif (!$monitor->{HorizSync} || !$monitor->{VertRefresh}) { @@ -141,7 +141,7 @@ sub configure_automatic { delete @$monitor{'VendorName', 'ModelName', 'EISA_ID'}; } } else { - if (my ($mon) = grep { $_->{VendorName} eq $monitor->{VendorName} && $_->{ModelName} eq $monitor->{ModelName} } @$monitors) { + if (my $mon = find { $_->{VendorName} eq $monitor->{VendorName} && $_->{ModelName} eq $monitor->{ModelName} } @$monitors) { put_in_hash($monitor, $mon); } } diff --git a/perl-install/Xconfig/resolution_and_depth.pm b/perl-install/Xconfig/resolution_and_depth.pm index 1461f64be..ea859b5c7 100644 --- a/perl-install/Xconfig/resolution_and_depth.pm +++ b/perl-install/Xconfig/resolution_and_depth.pm @@ -163,7 +163,7 @@ sub choices { #- finding it in @resolutions (well @matching) #- (that way, we check it exists, and we get field "bios" for fbdev) my @default_resolutions = sort { $b->{Y} <=> $a->{Y} } grep { $_->{Depth} eq $Depth } @matching; - my $default_resolution = first(grep { $resolution_wanted->{Y} eq $_->{Y} } @default_resolutions) || $default_resolutions[0]; + my $default_resolution = (find { $resolution_wanted->{Y} eq $_->{Y} } @default_resolutions) || $default_resolutions[0]; $default_resolution, @resolutions; } @@ -243,7 +243,7 @@ sub choose_gtk { $chosen_y_res = $_[1]; } else { #- take one - my ($one) = grep { $_->{X} eq $chosen_x_res } @resolutions; + my $one = find { $_->{X} eq $chosen_x_res } @resolutions; $chosen_y_res = $one->{Y}; } my $image = $monitor_images_x_res{$chosen_x_res} or internal_error("no image for resolution $chosen_x_res"); @@ -303,9 +303,9 @@ sub choose_gtk { $x_res_combo->entry->set_text($chosen_x_res . "x" . $chosen_y_res); $W->main or return; - first(grep { $_->{X} == $chosen_x_res && - $_->{Y} == $chosen_y_res && - $_->{Depth} == $chosen_Depth } @resolutions); + find { $_->{X} == $chosen_x_res && + $_->{Y} == $chosen_y_res && + $_->{Depth} == $chosen_Depth } @resolutions); } 1; diff --git a/perl-install/Xconfig/xfreeX.pm b/perl-install/Xconfig/xfreeX.pm index 5853342f9..8351c5685 100644 --- a/perl-install/Xconfig/xfreeX.pm +++ b/perl-install/Xconfig/xfreeX.pm @@ -118,9 +118,8 @@ sub get_screens { sub get_default_screen { my ($raw_X) = @_; my @l = get_screens($raw_X); - my @m = grep { $_->{Identifier} && val($_->{Identifier}) eq 'screen1' || - $_->{Driver} && val($_->{Driver}) =~ /svga|accel/ } @l; - first(@m ? @m : @l); + (find { $_->{Identifier} && val($_->{Identifier}) eq 'screen1' || + $_->{Driver} && val($_->{Driver}) =~ /svga|accel/ } @l) || $l[0]; } sub set_screens { my ($raw_X, @screens) = @_; @@ -172,7 +171,7 @@ sub get_resolution { $Screen ||= $raw_X->get_default_screen or return {}; my $depth = val($Screen->{DefaultColorDepth}); - my ($Display) = grep { !$depth || val($_->{l}{Depth}) eq $depth } @{$Screen->{Display} || []} or return {}; + my $Display = find { !$depth || val($_->{l}{Depth}) eq $depth } @{$Screen->{Display} || []} or return {}; val($Display->{l}{Modes}) =~ /(\d+)x(\d+)/ or return {}; { X => $1, Y => $2, Depth => val($Display->{l}{Depth}) }; } |