[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force XFree86 SVN commit: r1858 - branches/debconf-overhaul/debian



Author: branden
Date: 2004-09-22 18:18:04 -0500 (Wed, 22 Sep 2004)
New Revision: 1858

Modified:
   branches/debconf-overhaul/debian/CHANGESETS
   branches/debconf-overhaul/debian/TODO
   branches/debconf-overhaul/debian/xserver-xfree86.config.in
Log:
Update logic in configure_monitor() to actually use information collected
from read-edid utilities, add comments, and trace the function's operation.
Thanks to Jay Berkenbilt for his analysis.  (Closes: #229850)


Modified: branches/debconf-overhaul/debian/CHANGESETS
===================================================================
--- branches/debconf-overhaul/debian/CHANGESETS	2004-09-22 22:55:44 UTC (rev 1857)
+++ branches/debconf-overhaul/debian/CHANGESETS	2004-09-22 23:18:04 UTC (rev 1858)
@@ -101,6 +101,9 @@
   mice on NewWorld PowerMacs.
 + Update configure_mouse() to include defaults appropriate to the Hurd (thanks,
   Michael Banck).  (Closes: #259080)
++ Update logic in configure_monitor() to actually use information collected
+  from read-edid utilities, add comments, and trace the function's operation.
+  Thanks to Jay Berkenbilt for his analysis.  (Closes: #229850)
 + Make extensive stylistic cleanups:
   - Identify more "global" variables at top of script.
   - Add comment headers to every function (where not already present)

Modified: branches/debconf-overhaul/debian/TODO
===================================================================
--- branches/debconf-overhaul/debian/TODO	2004-09-22 22:55:44 UTC (rev 1857)
+++ branches/debconf-overhaul/debian/TODO	2004-09-22 23:18:04 UTC (rev 1858)
@@ -21,9 +21,6 @@
   + #207481: xserver-xfree86: proposed debconf overhaul [BR]
   + #226180: xserver-xfree86: [debconfage rewrite] not amenable to configuration
     with readline frontend; lack of defaults
-  + #229850: xserver-xfree86: [debconf] monitor selection methods need to be
-    more careful about clobbering autodetected monitor sync ranges; study Jay
-    Berkenbilt's feedback [BR]
   + #261777: Problems handling multiple detected video cards; see what can be
     done about this [BR]
 

Modified: branches/debconf-overhaul/debian/xserver-xfree86.config.in
===================================================================
--- branches/debconf-overhaul/debian/xserver-xfree86.config.in	2004-09-22 22:55:44 UTC (rev 1857)
+++ branches/debconf-overhaul/debian/xserver-xfree86.config.in	2004-09-22 23:18:04 UTC (rev 1858)
@@ -1463,47 +1463,53 @@
   MAY_BE_NULL= auto_answer validate_string_db_input "$PRIORITY" \
     xserver-xfree86/config/monitor/identifier "$default_identifier"
 
-  # priority of xserver-xfree86/config/monitor/selection-method
-  set_db_priority "medium"
-
+  # Set priority of xserver-xfree86/config/monitor/selection-method based on
+  # whether or not we were able to retrieve the monitor's sync ranges via EDID.
+  #
+  # If we did get monitor sync range information via EDID, pre-answer the
+  # selection method with "Advanced".  Otherwise, ask the user if the monitor is
+  # an LCD.
   if [ -n "$edid_horiz_sync" ] && [ -n "$edid_vert_refresh" ]; then
     trace "$func(): \$edid_horiz_sync: \"$edid_horiz_sync\";" \
           "\$edid_vert_refresh: \"$edid_vert_refresh\"; setting question" \
           "priority to low"
     set_db_priority "low"
+    db_subst xserver-xfree86/config/monitor/selection-method default "Advanced"
   else
     trace "$func(): at least of one of hsync \"$edid_horiz_sync\" or vrefresh" \
-          "\"$edid_vert_refresh\" is null; not setting question priority to low"
-  fi
+          "\"$edid_vert_refresh\" is null; setting question priority to medium"
+    set_db_priority "medium"
 
-  trace "$func(): monitor hsync and vrefresh question priority is $PRIORITY"
+    # Flat panels are more and more common, so set the selection method default
+    # to "Medium".
+    db_subst xserver-xfree86/config/monitor/selection-method default "Medium"
 
-  auto_answer db_input "$PRIORITY" \
-    xserver-xfree86/config/monitor/lcd "false"
-  db_get xserver-xfree86/config/monitor/lcd
-  trace "$func(): xserver-xfree86/config/monitor/lcd is $RET"
-  if [ "$RET" = "true" ]; then
-    db_subst xserver-xfree86/config/monitor/selection-method choices \
-      "Medium, Advanced"
-  else # not an LCD
-    db_subst xserver-xfree86/config/monitor/selection-method choices \
-      "Simple, Medium, Advanced"
+    # Ask whether the monitor is an LCD, and eliminate the "Simple" selection
+    # method from the list of choices if it is.
+    auto_answer db_input "$PRIORITY" xserver-xfree86/config/monitor/lcd "false"
+    db_get xserver-xfree86/config/monitor/lcd
+    trace "$func(): xserver-xfree86/config/monitor/lcd is $RET"
+    if [ "$RET" = "true" ]; then
+      db_subst xserver-xfree86/config/monitor/selection-method choices \
+        "Medium, Advanced"
+    else # not an LCD
+      db_subst xserver-xfree86/config/monitor/selection-method choices \
+        "Simple, Medium, Advanced"
+    fi
   fi
 
-  # Flat panels are more and more common, so set the default to medium.
-  db_subst xserver-xfree86/config/monitor/selection-method default "Medium"
-
+  trace "$func(): question priority for monitor selection method and related" \
+        "questions is $PRIORITY"
   run db_input "$PRIORITY" xserver-xfree86/config/monitor/selection-method
 
-  # priority of xserver-xfree86/config/monitor/{several things}
-  set_db_priority "high"
-
   db_get xserver-xfree86/config/monitor/selection-method
+  trace "$func(): using \"$RET\" selection method"
   case "$RET" in
     Simple)
       run db_input "$PRIORITY" xserver-xfree86/config/monitor/screen-size
       db_go
       db_get xserver-xfree86/config/monitor/screen-size
+      trace "$func(): screen size is \"$RET\""
       case "$RET" in
         'Up to 14 inches (355 mm)')
           db_set xserver-xfree86/config/monitor/horiz-sync "28-33"
@@ -1536,6 +1542,7 @@
       run db_input "$PRIORITY" xserver-xfree86/config/monitor/mode-list
       db_go
       db_get xserver-xfree86/config/monitor/mode-list
+      trace "$func(): mode selected from list is \"$RET\""
       # The mode and range information below is adapted from the built-in
       # modeline definitions in the XFree86 source tree; specifically
       # xc/programs/Xserver/hw/xfree86/etc/vesamodes and
@@ -1712,11 +1719,16 @@
       ;;
     Advanced)
       auto_answer validate_monitor_frequency_db_input "$PRIORITY" \
-        xserver-xfree86/config/monitor/horiz-sync "28-50"
+        xserver-xfree86/config/monitor/horiz-sync "$default_horiz_sync"
       auto_answer validate_monitor_frequency_db_input "$PRIORITY" \
-        xserver-xfree86/config/monitor/vert-refresh "43-75"
+        xserver-xfree86/config/monitor/vert-refresh "$default_vert_refresh"
       ;;
   esac
+
+  db_get xserver-xfree86/config/monitor/horiz-sync
+  trace "$func(): horizontal sync configured to \"$RET\""
+  db_get xserver-xfree86/config/monitor/vert-refresh
+  trace "$func(): vertical refresh configured to \"$RET\""
 }
 
 configure_display_modes_and_depth () {



Reply to: