Description of Problem: This is not an RFE. The kudzu tool is almost impossible to use on a serial console connection without more visual cues. The text-character oriented "gui" used by anaconda and kudzu depends solely on screen colors to indicate which of several button fields currently have the input focus. This makes it impossible to determine which of several button fields has input if screen colors are not available, such as over a ttyS0 serial console connection to a headless server. For example, if a dialog box in kudzu offers three buttons, "Keep", "Edit", "Ignore", then the user cannot see which button is currently selected, and cannot tell which button becomes selected on each Tab keypress. How Reproducible: Always reproduceable when running kudzu or other text-character oriented "gui" tools across a serial console connection. Additional Information: As a recommendation, the text characters within the button and button frame should change to indicate focus changes. These visual changes would help indicate the currently selected buttons without depending on colors. More specifically, here are concrete suggestions. A combination of these suggestions is preferred to make a stronger and more robust visual indication of selected fields on different hardware situations. (1) convert the text caption of the button to all-caps while selected: [ Keep ] [ EDIT ] [ Ignore ] (Note that this is only effective if the text captions are already defined with mixed-case. This is typical, but not 100% predictable or enforced.) (2) change the frame characters to double-outlines or single-outlines while the button is selected. [ Keep ] [[ Edit ]] [ Ignore ] (Note this will still have a visible effect even when the IBM-style CGA frame outline characters are not available or not mapped by a serial console properly. The characters will still change, which is enough to indicate a difference between buttons. This change is less effective for dialogs with exactly two buttons but enhances the indication if combined with other visual cues.) (3) add stars, brackets, angles, or other characters to the whitespace that already exists inside the selected button [ Keep ] [*Edit*] [ Ignore ] [ Keep ] [>Edit<] [ Ignore ] [ Keep ] [{Edit}] [ Ignore ] (Note that if the colors are chosen well, this cue could be hidden on color-equipped displays but visible on color-lacking displays. For example, a blue-on-blue asterisk character would appear on the serial console, but be invisible on the normal IBM CGA color video output. This trick would help preserve the current appearance on the typical IBM CGA color-equipped hardware, but still give the needed cue for other hardware cases.) Please implement one or more of these suggestions, or other visual cues in the same vein, so that buttons are visible on color-lacking displays such as serial console.
kudzu uses standard newt widgets. Assigning there.
Modified newt to properly work in monoschrome environments. This will affect all text-based tools. To activate, define the env var NEWT_MONO (only necessary if S-Lang thinks your environment is color). I used a combination of inverse video, underline, and bold to substitute for active and selected widgets, etc. o Couldn't change text to all CAPS because of I18N (Japanese, etc) issues (and what if the text is just a number) o Couldn't change outlines to double-lines because these chars don't exist on many terms and because this would involve heavy slang modifications o Couldn't add text or modify the text because of space/layout and I18N issues.