On Tue, 11 Oct 2016, Jason Benjamin wrote:

On Wed, 5 Oct 2016 21:11:41 -0400 (EDT)
Allin Cottrell <cottr...@wfu.edu> wrote:

I'm wondering if anyone knows the machanism whereby Ubuntu
"commandeers" the main menu system of a GTK application and sticks
it into the global top-of-screen menu bar, or combines it with the
application-window title bar? I'm talking about a "traditional",
non-CSD GTK application, where the "natural" location for the main
menu system is at the top of the program's window but underneath the
window's title bar as added by a WM.

I am familiar with this "distribution", if you could link some
screenshots with details for the different operating systems that would
help. That could be difficult, but if you need to use VirtualBox or
something.  I may not be able to give you an answer with the little
time I have right now, but at least someone else may be able to with a
more comparable question.

Thanks, Jason. I think I now have a better handle on what's going on. It seems that the code responsible for the effect I mentioned is unity-gtk-module, a "GTK+ module for exporting old-style menus as GMenuModels". There's a mechanism for "blacklisting" applications so they're not subject to this treatment, and there's also a relevant environment variable, UBUNTU_MENUPROXY: I gather that if this is set to 0 then unity-gtk-module doesn't kick in.

It seems to me that Ubuntu would have been better to adopt a "whitelist" approach -- that is, apply this mechanism only to programs that have been properly tested as working well under it. In the case of my application the main menus are set up using the GtkUIManager and GtkAction APIs, and the trouble (or one trouble) with unity-gtk-module is that calls to gtk_action_set_sensitive() are not getting through to the "hijacked" menus. It's hard to believe that my app is the only one to get broken in this way.

Allin Cottrell
Department of Economics
Wake Forest University, NC
gtk-app-devel-list mailing list

Reply via email to