Tuesday, October 6, 2015

Get Unity Global Menu / HUD Support For Java Swing Applications With JAyatana

Java Swing Ayatana is a project that brings Ubuntu global menu (AppMenu) and HUD support for Java Swing applications.

JAyatana version 2 was released recently, getting support for Ubuntu 13.10 along with a PPA for easy installation. Update: the PPA now supports Ubuntu 14.04 and 14.10.

Using this, you'll get Unity AppMenu and HUD support for applications such as: NetBeans IDE, IntelliJ IDEA, Android Studio, jDownloader and so on.

The current version has a small display bug with IntelliJ Idea and Android Studio - the bug was fixed minutes after publishing this post, thanks to danjaredg for the quick fix!

Here's an IntelliJ IDEA screenshot using a global menu under Unity (Ubuntu 14.04):

Intellij idea global menu unity

And Netbeans IDE:

Netbeans IDE global menu

And of course, HUD works too:

IntelliJ IDEA HUD

Note that this won't work for Eclipse because it's a SWT application (update: in Ubuntu 14.04, Eclipse has HUD / AppMenu support by default). If you want Unity AppMenu / HUD support for Eclipse IDE, see the instructions HERE for Ubuntu 13.04 and older or, for Ubuntu 14.04, use the new unity-gtk-module dconf option to whitelist Eclipse. Unfortunately the old method to enable the Eclipse AppMenu doesn't work properly in Ubuntu 13.10.


Get global menu / HUD support for Java Swing applications using Java Ayatana


Java Swing Ayatana is available in a PPA for Ubuntu 14.04 and 14.10. Add the PPA and install it using the following commands:
sudo add-apt-repository ppa:danjaredg/jayatana
sudo apt-get update
sudo apt-get install jayatana

Once installed, log out and log back in.

If you want to checkout the source, report bugs and so on, see the Java Swing Ayatana page @ Google Code.


How to rever the changes


1. Because files in /etc/ are only removed when the package that installs them is purged, to revert the changes you'll have to purge the packages installed from the PPA using the following command:
sudo apt-get --purge remove jayatana libjayatana libjayatanaag libjayatana-java libjayatanaag-java

2. And finally, log out and log back in.

seen @ +Bademus l.

No comments:

Post a Comment