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.
Department of Economics
Wake Forest University, NC
gtk-app-devel-list mailing list