How To Get A Unity-Like HUD (Searchable Menu) In Xubuntu, Ubuntu MATE, Linux Mint, More
i3-hud-menu works with GTK2, GTK3 (but not client-side decorated apps) and Qt4 applications.
Important: issues and limitations
i3-hud-menu has quite a few issues / limitations but I decided to post an article about it anyway since some of you might still find it useful.
Also, I’m hoping someone reading this article might be able to fix or at least come up with some workarounds for some of the issues below. If you do, please let us know in the comments!
i3-hud-menu limitations / issues:
- it doesn’t work with client-side decorated applications;
- it doesn’t work with Firefox or Thunderbird;
- it doesn’t work with Qt5 apps (make sure appmenu-qt5 and libdbusmenu-qt5 are not installed or else you won’t have a menu for Qt5 apps, such as VLC in Ubuntu 16.04 – if you do install those packages, you can use the menu via i3-hud-menu, but the actual menu won’t be visible in the application);
- using it, LibreOffice no longer has a menu if the “libreoffice-gtk” package is installed – this package is used for GTK+ integration (though using i3-hud-menu, you can search the menu, but actually using the menu items doesn’t work for some reason);
- to get i3-hud-menu to work with Java swing applications, you’ll need JAyatana;
- probably more.
It appears that the LibreOffice and the Qt5 applications issue occur because “APPMENU_DISPLAY_BOTH=1” is not respected. Furthermore, using “UBUNTU_MENUPROXY=” (for example, using “UBUNTU_MENUPROXY= libreoffice –writer”) or blacklisting it via Dconf Editor (com > canonical > unity-gtk-module > blacklist) doesn’t get the LibreOffice menu to show up.
On Arch Linux (possibly in other Linux distributions as well), which requires the unity-gtk-module-standalone-bzr package, you need to run the following command (or change this via Dconf Editor: com > canonical > unity-gtk-module, set gtk2-shell-shows-menubar to “false”) and reboot to ensure that menus are displayed in GTK applications:
gsettings set com.canonical.unity-gtk-module gtk2-shell-shows-menubar false
Install and configure i3-hud-menu
sudo apt install python3 python-dbus dmenu appmenu-qt unity-gtk2-module unity-gtk3-module wget
2. Download and install i3-hud-menu
To download and install J.A. McNaughton’s i3-hud-menu fork from the command line, use the following commands:
tar -xvf master.tar.gz
sudo mkdir -p /opt/i3-hud-menu
sudo cp -r i3-hud-menu-master/* /opt/i3-hud-menu/
If you want to install it yourself, grab the code from GitHub (but note that the instructions below assume that you’ve installed i3-hud-menu in /opt/i3-hud-menu/)
3. Load the Unity gtk module
if [ -n "$GTK_MODULES" ]
if [ -z "$UBUNTU_MENUPROXY" ]
… and save the file.
If after completing all the steps below, i3-hud-menu doesn’t work, you can try to paste the lines above in ~/.bashrc instead of ~/.profile.
4. Add i3-appmenu-service.py to startup
The next step is to add i3-appmenu-service.py to the system startup. If you’ve installed i3-hud-menu using the commands above, this file should be located in /opt/i3-hud-menu/
Xubuntu: To add i3-appmenu-service.py to startup, launch Session and Startup from the menu / System Settings, and on the “Application Autostart” tab click “Add”, enter “i3 menu service” under “Name”, and “/opt/i3-hud-menu/i3-appmenu-service.py” (without the quotes) under “Command”:
Ubuntu MATE: launch Control Center and open Startup Applications, click “Add”, use “i3 menu service” under “Name”, and “/opt/i3-hud-menu/i3-appmenu-service.py” (without the quotes) under “Command”, and click “Add”:
Linux Mint (Cinnamon): launch Startup Applications from the menu, click Add > Custom Command, use “i3 menu service” under “Name”, and “/opt/i3-hud-menu/i3-appmenu-service.py” (without the quotes) under “Command”, and click “Add”:
5. Assign a keyboard shortcut to i3-hud-menu.py
The keyboard shortcut you assign to i3-hud-menu.py will be used to open i3-hud-menu and search through an application’s menu. Here’s how to configure it in some Ubuntu flavors and Linux Mint (Cinnamon).
Xubuntu: open “Keyboard” from the menu / System Settings, and on the “Application Shortcuts” tab, click “Add”. Use “/opt/i3-hud-menu/i3-hud-menu.py” (without the quotes; if you’ve installed i3-hud-menu to a different location, make sure you use the correct path) for the command, click “OK:
… and assign it a keyboard shortcut:
Ubuntu MATE: from Control Center open Keyboard Shortcuts, click “Add”, under “Name” enter “i3-hud-menu” (without the quotes), and use “/opt/i3-hud-menu/i3-hud-menu.py” (without the quotes; if you’ve installed i3-hud-menu to a different location, make sure you use the correct path) for “Command”:
Linux Mint (Cinnamon): launch Keyboard from the menu, click “Add custom shortcut”, enter “i3-hud-menu” (without the quotes) under “Name”, “/opt/i3-hud-menu/i3-hud-menu.py” (without the quotes; if you’ve installed i3-hud-menu to a different location, make sure you use the correct path) under “Command” and click “Add”:
… and assign it a keyboard shortcut.
via / further reference:
via Blogger http://ift.tt/293EO6x