Hi Milan,
1)
I was reading https://gitlab.gnome.org/GNOME/gnome-shell/issues/155,
and in e-alarm-notify.c#L253 it is adding a notificatio action, i.e a
"Reminder" button. The problem is under Unity, notification server
(notify-osd) doesn't support notification action. And hence instead of
notification-bubble it pops up a dialog which is obtrusive.
See https://pasteboard.co/HSpZBsW.png.
In unity we also set notify-with-tray to false, so both dialog is
appearing at the same time. For the time being I set notify-with-tray
to true.
Will it be possible to check notification server capabilities before
adding an action ?
notify_get_server_caps
(https://developer.gnome.org/libnotify/unstable/libnotify-notify.html#notify-get-server-caps)
simply return a list of strings. And we can compare if it contains
"action". If not then the server doesn't support notification action
and we can simply show the notification without adding an action.
2)
That brings the question how in unity we should show notification.
Well in unity we can show notification in messeging menu and clicking
it will simply bring forward hidden dialog from notification tray.
If there is one single alarm pending, it will simply show evnt name
with time, for multiple alarms it show "N alarms pending".
See https://pasteboard.co/HSq5AWk.png
See client-example.py in libmesseging-menu-dev
(https://bazaar.launchpad.net/~indicator-applet-developers/indicator-messages/trunk.16.10/files/head:/libmessaging-menu/),
I will come up with a better example later.
And we can check session the same way we can check for gnome. On
Ubuntu, XDG_CURRENT_DESKTOP is "Unity7:Unity:Ubuntu"
For long we were doing things from indicator-datetime
(https://git.launchpad.net/ubuntu/+source/indicator-datetime/tree/src/engine-eds.cpp?h=applied/ubuntu/devel),
since evolution-alarm-notify was a part of evolution and evolution was
not installed by default. But now since it is in eds I think it's
better that we drop notification related code from indicator-datettime.
There is no point replicating entire EReminderWatcher code into into it.
For 1) I can file a bug in gitlab.
For 2) I have a prototype code, it can be patched in eds or we can do
it from indicator-datetime or patch downstream.
3) Is there bus signal we can watch when a notification-tray appears ?
I am watching "notify" signal from ca.desrt.dconf.Writer and checking
'reminder-past' in 'org.gnome.evolution-data-server.calendar', but
that's not very productive.
Let me know what you think.
Thank You.
_______________________________________________
evolution-hackers mailing list
[email protected]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers