momh

Eclipse : bulles contextuelles hors de l’écran

Sous Gnome Shell dans sa version 42, sous Wayland, les bulles contextuelles d’Eclipse affichant la JavaDoc associée aux méthodes suggérées lors de la saisie dépassent de l’écran...

La chose n’est pas extrêmement simple à décrire et les recherches sont de fait relativement délicates à mener... Plutôt qu’un long discours, voici une capture d’écran présentant le souci :

La bulle de JavaDoc d'Eclipse sous Wayland déborde de l'écran.
Eclipse sous Wayland

Retrouver un Eclipse utilisable

Je ne saurais expliquer trop précisément mais la solution consiste à lancer Eclipse en utilisant X11 comme backend ; dans un terminal, il suffit de lancer la commande suivante :

export GDK_BACKEND=x11; eclipse

Et vous devriez alors non seulement retrouver vos bulles contextuelles correctement positionnées mais aussi pouvoir utiliser véritablement les fenêtres de création de projet, de génération de constructeurs ou d’accesseurs... puisqu’elles prennent alors toute la hauteur de l’écran et n’en débordent pas. Ce qu’illustrent les deux captures ci-dessous.

Les bulles contextuelles sont alors correctement positionnées dans la fenêtre et ne débordent plus de l'écran.
Eclipse avec X11 comme backend

Avec le backend GTK X11, la fenêtre apparaît dans toute sa hauteur, les boutons d'actions sont visibles et utilisables.
Fenêtre de création de projet sous Eclipse

Lanceur


J’avais installé Eclipse via Snap ; pour modifier le lanceur, il convient tout d’abord de copier le lanceur original dans .local/share/applications :

sudo cp /var/lib/snapd/desktop/applications/eclipse_eclipse.desktop ~/.local/share/applications

Et de modifier la ligne Exec de ce nouveau fichier, afin qu’il ressemble au final à ceci :

[Desktop Entry]
X-SnapInstanceName=eclipse
Version=1.0
Type=Application
Name=Eclipse (X11)
Icon=/snap/eclipse/61/icon.xpm
Exec=env GDK_BACKEND=x11 /snap/bin/eclipse %f
Comment=Eclipse IDE
Categories=Development;IDE;
Terminal=false
StartupWMClass=eclipse


Il se peut que vous ayez à fermer et réouvrir votre session pour que le lanceur soit mis à jour.