How do I enable or disable the global application menu?
I'm fairly excited for Unity, as it looks like a promising new direction for Ubuntu. However, I do have a concern - will it be possible to use Unity without the global menu?
I have my window manager set to focus-follows-mouse/sloppy focus, and find the productivity gains to be immense. Sloppy focus is incompatible, however, with global menus, as it is possible for the focus to change while you move from window to menu.
Will Unity support an option to use window menus while still using Unity?
08 Answers
11.04 - 13.10
Yes, the Desktop version of Unity will use the global menu by default.
- To disable the global menu remove the indicator-appmenu
package, then log out and back in.
Unity will continue to run without it and your menus will appear inside the application windows as normal. You can also tell the appmenu to ignore specific applications if you're having a problematic app.
The command line way to remove the package is:
sudo apt-get remove indicator-appmenuRemoving the appmenu will break the HUD feature
514.04
The Global Menu can be optionally switched in favour of Local Integrated Menus (LIM) - aka - more traditional window based menus.
The reason for this additional ability is ostensibly due to the increasing prevalence of high-resolution displays and as such the perceived mouse-travel from application to the global-menu would be relatively large.
To toggle the global menu off or on can be achieved via the appearance control-panel applet:
Once clicked, the application menus appear within the window decoration as shown here:
Command line.
The above can be achieved using the terminal command:
gsettings set com.canonical.Unity integrated-menus trueIntegrated menus can be disabled (i.e. switch global menu back on)
gsettings set com.canonical.Unity integrated-menus falseIf you dont like Locally Integrated Menus then the old trick of removing indicator-appmenu still works although this will break the HUD
sudo apt-get remove indicator-appmenuFor reference, here is how to disable the global menu on a per application basis:
To disable appmenu support on a per application basis, set the UBUNTU_MENUPROXY variable to null, with:
env UBUNTU_MENUPROXY= eclipsethe env keyword is useful if your trying to launch the application with the ALT-F2 shortcut.
11.04 - 13.10 - How to disable the global menu (appmenu / application menu)
For current user only, all applications
Add this to ~/.gnomerc and log out of the desktop and in again:
STARTUP="env UBUNTU_MENUPROXY= $STARTUP"For current user only, only applications launched from the shell
Add this to ~/.bashrc and restart the shell:
UBUNTU_MENUPROXY=For current user only, only for specific applications launched from the shell
Add lines like this to ~/.bashrc and restart the shell:
alias gvim='UBUNTU_MENUPROXY= gvim'Based on .
For current user only, only for specific application launchers
See .
For all users, all applications (fix it in /etc)
Create config file with fix (note that the parentheses are part of the command):
(umask 022; echo UBUNTU_MENUPROXY= | sudo tee /etc/X11/Xsession.d/81ubuntumenuproxy)After this, log out of the desktop and in again.
To remove the fix:
sudo rm /etc/X11/Xsession.d/81ubuntumenuproxyBased on .
For all users, all applications (uninstall packages)
Ubuntu 11.04 and 11.10:
sudo apt-get remove appmenu-gtk indicator-applet-appmenu indicator-appmenuUbuntu 12.04:
sudo apt-get remove appmenu-gtk appmenu-gtk3 appmenu-qt indicator-appmenuAfter this, log out of the desktop and in again.
To undo, just install the packages again: sudo apt-get install [...]
From .
Notes 1
Just doing
sudo apt-get remove indicator-appmenuwill still give problems withgvimandimage viewers etc.since UBUNTU_MENUPROXY will still be set to 'libappmenu.so' by
the appmenu-gtk and appmenu-gtk3 packages.
Notes 2
The default value is UBUNTU_MENUPROXY='libappmenu.so'.
The UBUNTU_MENUPROXY= statement clears the variable.
Note that export [...] is not required when changing an already existing variable.
See also
- Gvim might spit out this warning 25 seconds after being started:
** (gvim:20320): WARNING **: Unable to create Ubuntu Menu Proxy: Timeout was reached
To fix this, either disable global menu, at least for gvim, or fixgvim. - Delayed in-window menu creation is a problem inimage viewers etc.,
for example eog.
To fix this, disable the global menu properly, at least for those applications. - Get both global menu and in-window menu:
APPMENU_DISPLAY_BOTH=1
See .
References
1I have been successfully using unity with focus follows mouse and the global menu by only accessing the application menu via the f10 key shortcut. In many ways this is better than moving the mouse away from where ever you were focused on anyway.
11.10
To disable the menu, instead of removing the indicator-appmenu you could hide its shared library file:
sudo mv /usr/lib/indicators/5/libappmenu.so /usr/lib/indicators/5/libappmenu.so.oldand to reenable, undo it:
sudo mv /usr/lib/indicators/5/libappmenu.so.old /usr/lib/indicators/5/libappmenu.so 18.04
Maybe there is an more-obvious way that i missed, but this somehow did the trick:
sudo apt-get install gnome-tweak-tool
gnome-tweaksGo to "Top Bar"
11.10
I successfully disabled the global application menu by following the advice from .
I deinstalled the packages appmenu-gtk3, appmenu-gtk and appmenu-qt by running:
sudo apt-get remove appmenu-gtk3 appmenu-gtk appmenu-qtApparently, you can get the functionality back by reinstalling the packages.