Can't enable menubar mnemonics for gnome-terminal in 18.04 under Unity

Bug #1785444 reported by John Pye on 2018-08-05
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gnome-terminal (Ubuntu)
Undecided
Unassigned

Bug Description

On a clean Ubuntu 18.04, the Gnome Terminal menubar mnemonics are disabled, which makes quick launching of terminals with different profiles difficult.

There is still a setting for turning on/off mnemonics in dconf-editor:

dconf read /org/gnome/terminal/legacy/mnemonics-enabled

I have set this option to true, but nothing changes!

---

If I can hypothesise what the problem is here, I can see that terminal does some clever stuff to create two different menu .ui files using XML manipulation, eg

https://git.launchpad.net/ubuntu/+source/gnome-terminal/tree/src/terminal-menubar.ui.in?h=ubuntu/bionic-updates
https://git.launchpad.net/ubuntu/+source/gnome-terminal/tree/src/Makefile.am?h=ubuntu/bionic-updates

Hence there are TWO versions of the menu descriptions in Terminal.

I understand there were some tricks required to implement the Unity menus on top of standard GTK applications, so perhaps this switching of the menu descriptions causes problems the way Unity picks up the menu information and exposes it.

Is there a solution for this? Is there a way to compile terminal differently to get the with-mnemonic version instead of the without-mnemonic version, if it's not possible for on-the-fly switching to be enabled?

Egmont Koblinger (egmont-gmail) wrote :

gnome-terminal switched to using the GMenu architecture in https://gitlab.gnome.org/GNOME/gnome-terminal/commit/0820b3853, which is supposed to be superior to the old one with Unity's menuproxy. It suffers from new bugs and limitations though.

This change, as far as I recall, already affected how the mnemonics work in the global menu (I think they broke to some extent which we attempted to fix). Plus, mnemonics weren't working at many other places of gnome-terminal where they should've (e.g. Find or Preferences dialogs) which we aimed to fix too.

Re-enabling them for the menubar in Unity, using the new architecture, still resulted in Alt+F not working (the others working though), and had other downsides too. See also https://bugzilla.gnome.org/show_bug.cgi?id=792312 comment 11 onwards for a bug which we tried to work around.

In the end, if my memories are correct, we decided not support them for Unity, it was a compromise we had to make because we couldn't get everything right. Some rationale to back up this decision were:
 - it's no longer Ubuntu's default desktop, so not high priority;
 - enabling Alt+F etc. conflicts with their use inside the terminals, which most people want;
 - you can still easily focus the menu using Alt+F10.

My memories are pretty vague and the story was quite complex. See https://gitlab.gnome.org/GNOME/gnome-terminal/commit/f1c46cb52 and its linked bug for the long discussions.

> Is there a way to compile terminal differently to get the with-mnemonic version instead of the without-mnemonic version, if it's not possible for on-the-fly switching to be enabled?

Both versions are always compiled in, and selected based on the mentioned dconf setting, IIRC overridden to the non-mnemonic one when Unity is detected (I'm not sure again).

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.