Hatred's Log Place

DON'T PANIC!

Nov 10, 2017 - 2 minute read -

KDE5: иконки в трее

На днях заметил, что часть приложений время от времени перестают рисовать свои иконки в трее. С одной стороны, xembed - deprecated, но, судя по всему, плазма как-то пытается его использовать и отображать иконки в трее для “устаревших” приложений. Но не всегда это получается (ниже чуть подробнее).

По сути, нормально работать будут только приложения, которые поддерживают appindicator api.

Проблемные приложения

Среди приложений, которые отказались отображать иконки:

  • Skype Preview
  • Wire
  • Telegram Desktop (официальная бинарная сборка)
  • Slack
  • Insync
  • Zim
  • DavMail

libappindicator-gtk2

Skype (в том числе Ghetto Skype), Wire, Telegram Desktop лечатся путём установки libappindicator-gtk2 (речь про Arch и Manjaro):

pacman -S libappindicator-gtk2

sni-qt

Qt4-based приложения лечатся путём установки sni-qt:

pacman -S sni-qt

Davmail, Java

А вот для Davmail, который написан на Java находим такой ответ:

Позволю процитировать:

There is still not standard support in java for appindicator API. However with DavMail 4.7.0 your can use the new -notray command line option: davmail -notray

See http://davmail.sourceforge.net/linuxsetup.html

Т.е. стандартного пути решения проблемы не существует.

XEmbed SNI proxy

Пакет plasma-workspace содержит в себе программку, которая позволяет xembed приложения сделать доступными в окружении плазмы: xembedsniproxy. Данное приложение должно запускаться автоматически при старте KDE через файл:

/etc/xdg/autostart/xembedsniproxy.desktop

но по какой-то причине это не всегда происходит. С причиной этой ещё предстоит разобраться, возможно стартует слишком рано, не находит чего-то и аварийно завершается. На это наводит наблюдение, что если KDE перестартовать, то иконки начинают рисоваться как нужно в большинстве случаев.

Пока же, можно вручную запустить, что излечивает приложения из списка выше:

  • Slack
  • Zim
  • Insync
  • Davmail

Вместо заключения

Неплохая заметка “Всё о зоопарке треев”: