Home Page -> Commentary -> Linux -> Widgets

Linux Widgets

Linux allows customizable widgets, whose endless variety can lead to nearly endless user confusion. The following screen shots came from several programs which could all be running simultaneously on an X Windows display.

too subtle buttons This appears to be the default for checkboxes and radio buttons. It's also a clear case where being subtle is not a good thing. If you've never seen this interface, it's really not obvious which radio button or checkbox is selected.
clear buttons On the other hand, this dialog box has customized the radio button and checkbox widgets; now it's entirely clear which ones are selected.


ugly menu

Question: Is this a set of really ugly buttons, or is it a menu?
Answer: It's a menu, and its items are visible only as long as you hold down the mouse button.

good-looking menu

This is a menu, and the items stay visible after you click the menu title whether you hold the mouse button down or not.


There's no standard for file open dialogs; witness this one, which scrolls to the left as you descend through subdirectories:

three-pane file open dialog

And this file open dialog uses only two panels:


Finally, there are cases in which a widget just seems not to work. Take a look at this dialog box

unreadable dialog

Its first problem is that its color scheme appears to have been chosen by Ray Charles. (This isn't an X Windows problem; it's a bad choice by the program's author.) See where the vertical bar cursor is? No? Here; let's change the colors so that you can see the dialog more clearly.

bad cursor dialog

Your lying eyes are telling you that the cursor is between the t and e of test, but I got it to its current position by pressing the right arrow key until it wouldn't move any further. The cursor is really at the end of the input, but the widget seems not to have taken italics into effect when computing cursor position.

The moral of the story: The flexibility of X Windows appears in many cases to work against a consistent user interface.

Back to article