Exploring Desktop Environments — 1

From the beginning more than 21 years ago of using Linux based distros I never had a warm and fuzzy feeling toward GTK. This goes back at least to when the developers decided the placement of the OK and Cancel buttons should be different from other operating systems. (The common fix is gtk-alternative-button-order=1.)

The GTK file picker dialog always has been frustrating. Browsing the web indicates many people are dissatisfied with the interface. The file picker Location bar often opens with a file preselected, requiring extra keyboard strokes or mouse clicks to overwrite. Often the Location bar populates with a disruptive drop-down selection list. While useful to some people there is no user control to disable or configure autofill in a GTK Location bar. The “bread crumb” design prevents a user from inline editing the full file path. Recursive search is disruptive when saving a file. The Places sidebar pane seems to never quite match the user’s gtk-bookmarks file.

Other GTK grief includes being unable to disable tooltips in any sane manner. Themes are in continual breakage. Users accustomed to dialog buttons being at the bottom now find the buttons at the top. Many GTK3 tools no longer have menu or title bars, which leads into a long running debate about client-side window decorations. The GTK design keeps moving toward being locked to systemd, the file manager being stripped of useful features, and a Windows wanna-be dconf registry.

I long have had the impression that software written with GTK are slower than with other tool kits. An odd latency of sorts.

Another reason for being uncomfortable is the developers’ attitude toward and control of GTK. If patches do not adhere to the GNOME interface guide and “vision” then the patch is rejected as WONTFIX. GTK is supposed to be a community tool kit, but seems controlled to suit GNOME interests.

For some years I have been using a combination of Xfce with some MATE components. As a desktop environment (DE) MATE is acceptable but seems designed for whiz-bang users. That is partly frustrating. Xfce gets in my way less than MATE. Yet the bottom line is both desktop environments are based on GTK and require dealing with related annoyances.

Local attempts here to update Slackware from 14.2 to 15.0 stalled partly because of GTK3. That is discouraging because Xfce is decent software and offers more user control options than MATE. While a stable DE, MATE has become more frustrating with the GTK3 transition. Beginning with version 4.16 Xfce now is allergic to the same GTK3 infections.

This is seen with client side decorations. Some GTK software have traditional menus and some don’t. This user interface mixture is confusing and creates a clunky experience.

Annoying with the Xfce transition to GTK3 is every icon in the Xfce panel now pops up a tooltip when hovering the mouse cursor for a moment.

Perhaps long overdue is developers dependent upon GTK3 fork the project, remove client side decorations, and restore lost features from GTK2. That probably will not happen because GTK is a grass-roots software project. Forking probably is considered politically incorrect, especially when two significant commercial companies behind Linux promote the GNOME desktop.

Oh well. Everybody is different. GTK might be fine for some people but seems not for me. For several years I have been ignoring this discomfort with GTK and pretending all is well. Reflecting on efforts to update to Slackware 15.0 leads to wondering if the cure is to stop pretending the emperor is wearing clothes.

Any journey to break away from GTK will be much about trading one set of paper cuts for another. There are no illusions the effort will be painless or quick. Memory muscle tends to create hard-set habits, expectations, and work flows. Hopefully in the end there are fewer paper cuts.

An unfortunate part of this journey is GTK never should have been allowed to devolve or be controlled by a few people.

Posted: Category: Usability Tagged: General, GTK

Next: Exploring Desktop Environments — 2

Previous: Little Things