Awkward usability issue with GtkHeaderBar (titlebar child) and GtkMenu button
While this is not a bug, it may be considered an issue for new glade users.
Many people will try to create a simple application and I'm guessing, they will try to make it look like most other gnome3/gtk3 apps, with the big header bar and the drop-down menu with the "burger" (3 lines) icon. Unfortunately, this procedure appears to be quite "exotic" and most pages on the internet are quite outdated and wrong.
The first problem is with the GtkHeaderBar. People will create a GtkWindow or GtkApplicationWindow and will drop a GtkHeaderBar in the new window, thinking that this will generate the expected result. Unfortunately, that is not the case, the result is a broken window that has a header bar that does not move the window itself.
broken result:
The solution is rather strange (to me at least). After creating the window, I have to select the window and on the right side pane, select the General tab, under the Appearance section, find and enable the checkbox "Client side window decorations". This option suddenly makes a secret section to appear within the window, which is barely visible, like this:
top secret section appears:
In the above top secret section, you may drop your GtkHeaderBar and then and only then will you get a working application. But the problems persist, because the typical user will want to create a menu drop-down button with the "burger" icon (three horizontal lines). Alas, that is not possible at first glance (or second, or third).
What you get is a down arrow:
Many people end up creating the icon by code and assigning the new image/icon to the button:
iconBurger = Gio.ThemedIcon(name="open-menu-symbolic")
imageBurger = Gtk.Image.new_from_gicon(iconBurger, Gtk.IconSize.BUTTON)
Apparently, what the developer should have done, is scan the C documentation, found the specs for the GtkMenuButton and hidden in the third paragraph, read that the "burger" icon only appears if someone changed the Direction property from the default "Down" to "None". Not exactly apparent at first glance...
the hidden burger icon appears:
Maybe glade should offer a template that solves all these mysteries? Then developers could use such a template as a base to start their application. I'd appreciate what others more experienced think about these usability issues.
Thank you.