9 May 2003 auspex   » (Journeyer)

GNOME Wishlist - Old bugs

There are some bugs that haven't seen any attention in a while, and I fear they're going to slip through the cracks of another major release. These first few are Gtk+ bugs.

  • 53577, 53709 - These are keyboard navigation bug reports for GtkButton and subclasses. Each reports many bugs, and I'm most interested in seeing that pressing Enter performs the default action in a dialog; i.e., that it's the same as clicking OK. Per the GNOME HIG, a dialog is confirmed by pressing the Enter key and cancelled by pressing the Escape key. (Alternative actions - e.g., Don't Save in a Save-Before-Closing alert - don't have a special key.)

    I find this particularly interesting because bringing Gtk+ into compliance with the HIG can reduce the size of Gtk+. I don't know (yet) how many bytes will be removed or how much it will improve performance. I do not know of any use for a default action outside of confirming a dialog, so I think the mechanism for it can be limited to dialog confirmation. For GtkWidget, this saves 3 bits by eliminating the GTK_WIDGET_CAN_DEFAULT, GTK_WIDGET_HAS_DEFAULT, and GTK_WIDGET_RECEIVES_DEFAULT flags; however, these are in a bitfield of 16-bits. For GtkWindow this eliminates the checks for a default. These may be trivial changes, but almost every piece of a GNOME UI is a GtkWidget in a GtkWindow. I don't have or yet know how to use the tools to assess this.

    I'm concerned that there may be a non-trivial number of trivial points like this.

  • 61843 - GtkMenuBar has at least about 40 dead pixels per item by default. This depends on the size of the item and can be much more. The space is good for readability, but it should be usable to activate the item. (cf. Fitts's Law)
  • 65765 - Add an authentication icon to Gtk+'s stock icons. This is an easy one.
  • 68938 - Remove the separator from GtkDialog. This is just a minor nuisance, but it falls under the "redesign dialogs" category.
  • 70372 - One can not see the tooltip for any insensitive widget. This makes it hard to learn what a widget does or why it's insensitive. On the other hand, if a large section of a dialog is insensitive, having to navigate through it is a pain.
  • 73269 - There should be a separate report for this. The icons need to be removed from dialog buttons. This might be another redesign issue. GtkButton is a GtkBin subclass. (GtkBin is an abstract class for a container with only one child.) But there are only a few basic button types or button-like interface objects. Perhaps it would be better for GtkButton and other widgets to handle text and images directly instead of by packing them in.
  • 84188 - Another dialog redesign issue.
To be continued, perhaps later today.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!