Menu Dropbox AppIndicator cassé dans gnome-flashback

11

Le problème

Broken Dropbox Menu as appindicator in gnome-flashback

Il s'agit d'un indicateur Dropbox cassé dans gnome-flashback sur Ubuntu 16.04.1. (Version Dropbox: x86_64-9.4.94)



Menu Dropbox fonctionnel dans Unity

Comme on peut le voir ici, cela fonctionne bien dans Unity. Mais comment puis-je obtenir cela dans gnome-flashback (en tant qu'indicateur)?




La solution

entrez la description de l'image ici

Lorsque je force Dropbox à se présenter comme une icône systray à l'ancienne 1, le menu devient utilisable.




Questions ouvertes

  • Qu'est-ce qui convainc Dropbox de présenter l'icône de couleur dans gnome-flashback lorsqu'elle fonctionne en tant qu'indicateur? Comme indicateur, il est noir et blanc dans Unity.
  • Puis-je tromper Dropbox pour croire qu'il fonctionne sous Unity? Puis-je forcer le "mode indicateur"?
  • Y a-t-il quelque chose qui ne va pas dans le code Dropbox pour ne pas décider correctement entre systray / appindicator? Cette icône colorée ressemble au résultat de mi-systray, mi-appindicator ...



1 Vous pouvez forcer Dropbox en "mode systray" en l'exécutant dbus-launch dropbox startou DBUS_SESSION_BUS_ADDRESS= dropbox startau lieu de le démarrer avec un plain dropbox start.

Robert Siemer
la source
Addition: Si vous avez le même problème pour Steam, quelques astuces pour le résoudre sont ici: github.com/ValveSoftware/steam-for-linux/issues/4795 Pour moi, j'ai sudo apt install libdbusmenu-gtk4:i386aidé à résoudre le problème des icônes Steam.
peschü

Réponses:

9

Puis-je tromper Dropbox pour croire qu'il fonctionne sous Unity? Puis-je forcer le "mode indicateur"?

Oui, vous pouvez! Les expériences montrent que Dropbox (ou apparenté) recherche la variable d'environnement XDG_CURRENT_DESKTOP, une chose standard freedesktop.org reflétant le nom de l'environnement de bureau utilisé. Réglez-le sur Unityet Dropbox devient sain d'esprit. (J'ai essayé d'autres valeurs sensibles, mais les résultats étaient pires.)

Il y aura plusieurs façons de planter cette variable sur Dropbox. J'ai choisi de modifier le script d'interface de ligne de commande /usr/bin/dropboxdu nautilus-dropboxpackage pour toujours écraser cette variable. Ajoutez cette ligne après les importations. Cela fonctionnera également pour "Démarrer Dropbox au démarrage du système":

os.environ['XDG_CURRENT_DESKTOP'] = 'Unity'
Robert Siemer
la source
Ajout [modification non autorisée après 5 min]: Cela a fonctionné mais uniquement pour les sessions gnome-flashback [metacity] pas pour les sessions gnome-flashback [compiz]!
peschü
1
Ouais. Celui-ci a fait l'affaire sur la métacité d'Ubuntu 16.04. Merci!
webbertiger