From 221d409f295746c5b3bab201159b40031bb45c2a Mon Sep 17 00:00:00 2001 From: Anssi Hannula Date: Fri, 3 May 2013 22:47:32 +0000 Subject: Xconfig: never fallback to guessing display resolution Neverfallback to guessing display resolution from display size or forcing it to 1024x768, instead fallback to automatic display mode (mga#9934). --- NEWS | 4 ++++ lib/Xconfig/resolution_and_depth.pm | 30 +----------------------------- 2 files changed, 5 insertions(+), 29 deletions(-) diff --git a/NEWS b/NEWS index c85eb0a..c9b2328 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +- never fallback to guessing display resolution from display size or + forcing it to 1024x768, instead fallback to automatic display mode + (mga#9934) + Version 0.107 - 22 April 2013 - fix Russian keyboard config (mga#6308) diff --git a/lib/Xconfig/resolution_and_depth.pm b/lib/Xconfig/resolution_and_depth.pm index f443f3e..6b8ed66 100644 --- a/lib/Xconfig/resolution_and_depth.pm +++ b/lib/Xconfig/resolution_and_depth.pm @@ -41,31 +41,6 @@ sub from_bios { sub bios_vga_modes() { @bios_vga_modes } -sub size2default_resolution { - my ($size) = @_; #- size in inch - - require detect_devices; - if (arch() =~ /ppc/) { - return "1024x768" if detect_devices::get_mac_model() =~ /^PowerBook|^iMac/; - } elsif (detect_devices::is_xbox()) { - return "640x480"; - } - - my %monitorSize2resolution = ( - 13 => "640x480", - 14 => "800x600", - 15 => "800x600", - 16 => "1024x768", - 17 => "1024x768", - 18 => "1024x768", - 19 => "1280x1024", - 20 => "1280x1024", - 21 => "1600x1200", - 22 => "1600x1200", - ); - $monitorSize2resolution{round($size)} || ($size < 13 ? "640x480" : "1600x1200"); -} - sub XxY { &Xconfig::xfree::XxY } sub to_string { @@ -168,11 +143,8 @@ sub choices { put_in_hash($resolution_wanted, $monitors->[0]{preferred_resolution}); } elsif ($monitors->[0]{ModelName} =~ /^Flat Panel (\d+)x(\d+)$/) { put_in_hash($resolution_wanted, { X => $1, Y => $2 }); - } elsif ($monitors->[0]{diagonal_size}) { - my ($X, $Y) = split('x', size2default_resolution($monitors->[0]{diagonal_size} * 1.08)); - put_in_hash($resolution_wanted, { X => $X, Y => $Y }); } else { - put_in_hash($resolution_wanted, { X => 1024, Y => 768 }); + return { automatic => 1, Depth => $resolution_wanted->{Depth} }, @resolutions; } } my @matching = grep { $_->{X} eq $resolution_wanted->{X} && $_->{Y} eq $resolution_wanted->{Y} } @resolutions; -- cgit v1.2.1