Header bar: Keyboard accessibility?



Hello everybody.

I have heard of desktop environments that display the application menu
in a dedicated place (GNOME Shell, OS X). Presumably, in that case the
desktop environment provides a key that the user can press to open the
application menu.

I am not on such a system. That means every GTK application has to
display its menu in its own window.

There are basically two ways to do that. By default,
GtkApplicationWindow displays a menu bar with the application menu as
its first menu. In this case, F10 opens the menu.

Another way is to add a GtkHeaderBar to the window, call
gtk_application_window_set_show_menubar(false) and
gtk_header_bar_set_show_close_button(true). In this case, the header
bar shows an unfocusable button that, when clicked, displays the
application menu.


And now for the title question. In this latter scenario, how does the
user access the application menu without having to use a pointing
device? Is every application supposed to implement that? As a
developer, how would I go about that? As a user, what do I say in the
bug report when an application neglects this?

In a demo application, I was able to add an F10 accelerator to a
window action that walks the widget tree of the header bar and
activates the first GtkMenuButton it finds, but this really screams
“implementation details” and “support nightmare”.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]