Проблема

Проблема

Проблема

Сломанное меню Dropbox как индикатор приложения в gnome-flashback

Это сломанный индикатор Dropbox в gnome-flashback на Ubuntu 16.04.1. (Версия Dropbox: x86_64-9.4.94)



Рабочее меню Dropbox в Unity

Как можно увидеть здесь, это прекрасно работает в Unity. Но как мне получитьчтов gnome-flashback (как appindicator)?




Обходной путь

введите описание изображения здесь

Когда я заставляю Dropbox отображаться в виде старого значка системного трея 1, меню становится пригодным для использования.




Открытые вопросы

  • Что убеждает Dropbox отображать цветную иконку в gnome-flashback, когда он работает как appindicator? В качестве индикатора он черно-белый в Unity.
  • Могу ли я обмануть Dropbox, заставив его поверить, что он работает под управлением Unity? Могу ли я принудительно включить "режим индикатора приложения"?
  • Что-то не так с кодом Dropbox, который не может правильно выбрать между systray/appindicator? Этот цветной значок выглядит как результат наполовину systray, наполовину appindicator...



1 Вы можете принудительно перевести Dropbox в «режим трея», запустив dbus-launch dropbox startили DBUS_SESSION_BUS_ADDRESS= dropbox startвместо запуска простого файла dropbox start.

решение1

Могу ли я обмануть Dropbox, заставив его поверить, что он работает под управлением Unity? Могу ли я принудительно включить "режим индикатора приложения"?

Да, можно! Эксперименты показывают, что Dropbox (или родственные ему) ищет переменную окружения XDG_CURRENT_DESKTOP, стандартную вещь freedesktop.org, отражающую имя используемой среды рабочего стола. Установите ее в , Unityи Dropbox станет нормальным. (Я пробовал другие разумные значения, но результаты были хуже.)

Будет несколько способов установить эту переменную в Dropbox. Я решил отредактировать скрипт интерфейса командной строки /usr/bin/dropboxиз nautilus-dropboxпакета, чтобы всегда перезаписывать эту переменную. Добавьте эту строку после импорта. Это также будет работать для "Запускать Dropbox при запуске системы":

os.environ['XDG_CURRENT_DESKTOP'] = 'Unity'

Связанный контент