Saturday, January 9, 2010

Eclipse on Ubuntu Karmic behaves weirdly

I am installing my new machine these days, running Ubuntu Karmic Koala 9.10. I finally came to setting up my environment on Eclipse, going to install Subversive for SVN access.

I then find that the Install new software... dialog behaves very weird - I can't seem to get anything up in the checkable list box when I select anything from the "Work with:" site selector dropdown.

Also, I find that I very often am unable to click buttons on any dialog window - this also goes for the Preferences dialog (it is possible to Tab around and hit enter, though).

It turns out that both these problem is an incompatibility between SWT (the Standard Widget Toolkit that Eclipse uses) and GTK+ (The GIMP Toolkit, used by GNOME) v.2.18 and apparently also Compiz (The advanced compositing window manager that can be used with GNOME). The underlying problem is apparently that GTK has changed some internal way windows are handled that exposes not-quite-correct usage by some applications, notably SWT. So SWT have to fix it, which they have.

However, a fix is not "out" yet, but there is a workaround, which is to run..

export GDK_NATIVE_WINDOWS=true

..before invoking eclipse (in a terminal, obviously). Some people apparently find that if you reboot eclipse (restart, or switch workspace), the fix doesn't seem to stick - however it seems to for me.

Links to bugs: Eclipse, Ubuntu

Btw, same thing goes for Azureus (and hence Vuze), as they also use SWT.

Btw2, the same thing also goes for Flash in the browsers (typically one find this out by buttons in youtube videos not working!), but here google will have to be your friend.

Btw3, to install Subversive for subversion access, launch the Install new software... dialog, select the Galileo site from the dropdown, and just search for "subversive". Find and check Subversive SVN Team Provider (Incubation) under Collaboration. Also check the Mylyn Integration if applicable, then install. When you reboot, the Subversive plugin will find out that you have not installed those annoying Subversive Connectors (the actual subversion handlers - which are not distributed from the eclipse main site due to some licensing bullshit) which you had to handle yourself in previous versions of eclipse - and let you select them from a nice GUI.

1 comment: