Bug 3465

Summary: add libappindicator support to notification plugin
Product: Claws Mail Reporter: HendrikL <hlehmbruch>
Component: Plugins/NotificationAssignee: users
Status: RESOLVED WORKSFORME    
Severity: enhancement CC: rca
Priority: P3    
Version: 3.11.1   
Hardware: PC   
OS: Linux   

Description HendrikL 2015-07-13 07:49:15 CEST
It would be great if the tray-icon is shown in the system tray of plasma5/KF5 (formerly known as KDE). The notification are shown but the tray-icon not.

Did you read this blog post? -> http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/

Some infos about my system

#######################
Host: xyz Kernel: 4.1.2-towo.1-siduction-amd64 x86_64 (64 bit) Desktop: Xfce 4.12.2
Distro: siduction 14.1.0 Indian Summer - kde - (201411230337) (debian sid/unstable)

LANG=C apt-cache policy claws-mail
claws-mail:
  Installed: 3.11.1-3+b1

LANG=C apt-cache policy claws-mail-multi-notifier
claws-mail-multi-notifier:
  Installed: 3.11.1-3+b1


LANG=C apt-cache policy libappindicator1
libappindicator1:
  Installed: 0.4.92-3.1

LANG=C apt-cache policy libappindicator3-1
libappindicator3-1:
  Installed: 0.4.92-3.1
####################### 

I hope this is the right place to fill that request.

Greetings Hendrik Lehmbruch
Comment 1 Paul 2015-09-30 14:06:30 CEST
*** Bug 3529 has been marked as a duplicate of this bug. ***
Comment 2 Andrej Kacian 2015-10-17 16:46:49 CEST
One technical hurdle to overcome is that appindicator does not allow for custom icons from XPM inline in the code, but one has to install an icon file somewhere, and point the library to that path. See http://askubuntu.com/questions/108522/how-to-use-custom-icon-in-an-appindicator :
  After calling set_icon_theme_path you can reference your-icon.png under the "icon name" your-icon.
Comment 3 Andrej Kacian 2015-10-17 21:35:54 CEST
Good news at least for Debian users, the old-style tray icons will be supported in KDE5 for the foreseeable future, see https://lists.debian.org/msgid-search/1827691445107908@web19m.yandex.ru

In the meantime, I have played with libappindicator a bit, and found out that working with it is rather trivial, after you get after one or two initial gotchas. What stopped me is code structure of the notification plugin, where I am not entirely sure what is the best way to add libappindicator support.

Logically, this would go right next to notification_trayicon.[ch] as notification_appindicator.[ch], but in notification_trayicon.[ch], there is a lot of code around handling of popup menu and preparing message counts. I do not want to duplicate that code, since that is a surefire way to maintainer's nightmare.

I was able to separate the popup menu creation into a notification_core.c (I think), but I am unsure of what to do with the rest. It would help if Holger could have a look at it, and suggest best solution - he knows the notification_plugin code best. :)
Comment 4 Paul 2015-11-12 17:18:52 CET
This is no longer a problem in KDE 5.15.0.