Package: xserver-xfree86 Severity: wishlist Okay, here is what I would change in xserver-xfree86.config.
- xserver-xfree86/config/device/use_fbdev: check for existance of /proc/fb before asking the question about framebuffer support. - If it does not exist, do not ask the question and set use_fbdev to false. - If it does exist, read it, and if - the contents matches "nvidia", do not ask the question and set use_fbdev to false. - otherwise set default to false but ask the question - To the video card section: I suggest setting SWCursor option by-default, since some drivers show broken mouse pointer on certain video cards. - on every arch except of sun and sgi set the default of xserver-xfree86/config/inputdevice/keyboard/rules to xfree86. This is just guessing but should be okay for the majority of the users. - get the first part /(\w\w)_../ of LC_CTYPE or LANG and set the default for xserver-xfree86/config/inputdevice/keyboard/layout - based on this setting, guess the layout most typical for the target country and set as it as default, then ask the question - based on the layout, set a default for xserver-xfree86/config/inputdevice/keyboard/variant and ask the question. I suggest to ask people on debian-i18n to send some data about the settings that majority of the users in their country uses. For example, in de it is popular to set the "nodeadkeys" option. Russians may want to set a second keymap in "layout", to "us,ru" and a "grp:grp:alt_shift_toggle" (or some other toggle) option to rotate the keymaps. We should just ask them on -i18n, code this settings into one mapping table and insert them - ask a question about advanced keyboard options with defaults from the typical configuration selection mentioned above - the mouse config is mostly okay, I just wish to see a final sentence in every description: "If unsure, choose to emulate the 3rd mouse button." "If unsure, enable the Zaxismapping." - For mouse autodetection: if gpm is running (test -e /var/run/gpm.pid), then open /etc/gpm.conf and source it, if $repeat_type exists, set xserver-xfree86/config/inputdevice/mouse/port to /dev/gpmdata and xserver-xfree86/config/inputdevice/mouse/protocol to the $repeat_type value (eg. mapped from the gpm syntax to X syntax). Now the most interessting part, the monitor settings. Following this algorithm: - ask about tft/lcd with the existing debconf question - ask about the monitor identifier (and preset with "Generic Monitor" or the name provided by parse-edid) Throw away the current question about simple/medium/advanced setup and proceed so: - ask: Template: xserver-xfree86/config/monitor/screen-size Type: select _Choices: Up to 14 inches (355 mm), 15 inches (380 mm), 17 inches (430 mm), 18 inches (480 mm), 19 inches (480 mm), 20 inches (510 mm), 21 inches (530 mm) Default: 17 inches (430 mm) _Description: Please choose your approximate monitor size. Your answer should be as precise as possible. If you monitor has better or lower quality than the average monitors in its class, you can refine its settings later. Template: xserver-xfree86/config/monitor/resolution-class Type: select _Choices: VGA (640x480), SVGA (800x600), XGA (1024x768), XGA+ (1152x864), SXGA (1280x1024), SXGA+ (1400x1050), UXGA (1600x1200), W-UXGA (1920x1200) Default: XGA (1024x768) _Description: Please choose your resolution class The resolution class of you monitor is normaly described in the manual of the display. If your display does not fit in any of this categories, choose just anything and you can refine the settings later. - If the monitor type is LCD, we can calculate all we need. However, user may need to tune some things, eg. on non-4:3 displays. Later. Now, we need a data table to choose the frequency values for an average monitor of the given type and insert this settings in the following template: Template: xserver-xfree86/config/monitor/general-info Type: boolean Default: true _Description: Is the choosed data correct? Setup has now choosed following settings that should work for an average monitor of the type you have choosen: Brand name: ${identifier} Type: {tft_or_lcd} Screen ratio: 4:3 General Screen Size: ${screen-size} diagonal (Width: {ratio-calculation($screen-size)}, Height: {ratio-calculation($screen-size)}) Best resolution: ${ (type==tft) : ${value from resolution-class} : ${value from data table for the res-class} } Pixel resolution: ${ (x-value-of(best-resolution) - unvisible-bordersize-on-CRTs ) / $width } Horizontal frequency range: ${value from data table or edid) Refresh rate range: ${value from data table or edid) Best mode: ${width}x${height}-{rate-from-edid or VESA table or minimum for TFTs} . If the data looks acceptable for your monitor, answer with Yes, otherwise choose No to customize some settings. ### comment: this is just for info and not really important since X will recalculate it as needed if we set DisplaySize correctly ### - If yes, accept the data, if No, use gets a debconf question with a list of things that he wants to change: ratio/size-diagonal/size-horizontal/size-vertical/best-mode. Selecting something shows the text input question where he can enter the values manually. After each change, the other settings are recalculated and the general-info question is shown, untill it is done. So, this is what I imagine as "New World" configuration. Some imaginary templates: Template: xserver-xfree86/config/monitor/ratio Type: text Default: 4:3 _Description: Width:Height screen ratio Please specify the ratio of your screen in the format WIDTH:HEIGHT. For most monitors 4:3 is the default value. For some extra-weight monitors, it may be 16:9 or 5:4. If you don't know the exact number enter the known natural resolution of the monitor, eg. 1280:800 for an WXGA (1280x800) model. Template: xserver-xfree86/config/monitor/size-horizontal Type: text Default: {from the selection before} _Description: The maximal real width of the screen Please specify the width of your screen which you can measure with a tape measure or from the manual of your monitor. If the size is given in milimeters, add "mm" to the number. On CRT monitors, please increment by 0.7 inch (or 18mm) because of the invisible size. Mfg, Eduard.