Hi,

The previous patch I submitted had a couple of problems. I was directly
accessing the members of the struct E_Notification, which had been defined
privately. Apologies for the same, the correct patch is attached to this
mail.

Thanks,
Amey
Index: trunk/E-MODULES-EXTRA/notification/src/e_mod_popup.c
===================================================================
--- trunk/E-MODULES-EXTRA/notification/src/e_mod_popup.c	(revision 39890)
+++ trunk/E-MODULES-EXTRA/notification/src/e_mod_popup.c	(working copy)
@@ -31,7 +31,8 @@ static int  _notification_timer_cb          (void
 int
 notification_popup_notify(E_Notification *n, 
                           unsigned int replaces_id, 
-                          unsigned int id __UNUSED__)
+                          unsigned int id __UNUSED__,
+                          char *appname)
 {
   int timeout;
   Popup_Data *popup = NULL;
@@ -47,8 +48,16 @@ notification_popup_notify(E_Notification *n,
 
   if (replaces_id && (popup = _notification_popup_find(replaces_id))) 
     {
-      if (popup->notif) e_notification_unref(popup->notif);
+      char nl[] = "\n";
       e_notification_ref(n);
+      if (popup->notif)
+      {
+        char *body_old = e_notification_body_get(popup->notif);
+        char *body_new= e_notification_body_get(n);
+        body_new = strcat(strcat(body_old, nl), body_new);
+        e_notification_body_set(n, body_new);
+        e_notification_unref(popup->notif);
+      }
       popup->notif = n;
       edje_object_signal_emit(popup->theme, "notification,del", "notification");
     }
Index: trunk/E-MODULES-EXTRA/notification/src/e_mod_main.c
===================================================================
--- trunk/E-MODULES-EXTRA/notification/src/e_mod_main.c	(revision 39890)
+++ trunk/E-MODULES-EXTRA/notification/src/e_mod_main.c	(working copy)
@@ -352,18 +352,19 @@ _notification_cb_notify(E_Notification_Daemon *dae
    unsigned int replaces_id;
    unsigned int new_id;
    int stacked, popuped;
+   char *appname = e_notification_app_name_get(n);
 
    replaces_id = e_notification_replaces_id_get(n);
    new_id = notification_cfg->next_id++;
    e_notification_id_set(n, new_id);
 
-   popuped = notification_popup_notify(n, replaces_id, new_id);
+   popuped = notification_popup_notify(n, replaces_id, new_id, appname);
    stacked = notification_box_notify(n, replaces_id, new_id);
    
    if (!popuped && !stacked)
      {
        e_notification_hint_urgency_set(n, 4);
-       notification_popup_notify(n, replaces_id, new_id);
+       notification_popup_notify(n, replaces_id, new_id, appname);
      }
    
    return new_id;
Index: trunk/E-MODULES-EXTRA/notification/src/e_mod_box.c
===================================================================
--- trunk/E-MODULES-EXTRA/notification/src/e_mod_box.c	(revision 39890)
+++ trunk/E-MODULES-EXTRA/notification/src/e_mod_box.c	(working copy)
@@ -848,7 +848,8 @@ _notification_box_cb_icon_mouse_still_in(void *dat
   e_notification_hint_urgency_set(ic->notif, 4);
   ic->popup = notification_popup_notify(ic->notif, 
                                         e_notification_id_get(ic->notif),
-                                        e_notification_id_get(ic->notif));
+                                        e_notification_id_get(ic->notif),
+                                        e_notification_app_name_get(ic->notif));
   ecore_timer_del(ic->mouse_in_timer);
   ic->mouse_in_timer = NULL;
   return 0;
Index: trunk/E-MODULES-EXTRA/notification/src/e_mod_popup.h
===================================================================
--- trunk/E-MODULES-EXTRA/notification/src/e_mod_popup.h	(revision 39890)
+++ trunk/E-MODULES-EXTRA/notification/src/e_mod_popup.h	(working copy)
@@ -14,7 +14,8 @@ struct _Popup_Data
 
 int   notification_popup_notify    (E_Notification *n, 
                                     unsigned int replaces_id, 
-                                    unsigned int id);
+                                    unsigned int id,
+                                    char *appname);
 void  notification_popup_shutdown  (void);
 void  notification_popup_close     (unsigned int id);
 
Index: trunk/E-MODULES-EXTRA/notification/src/e_mod_main.h
===================================================================
--- trunk/E-MODULES-EXTRA/notification/src/e_mod_main.h	(revision 39890)
+++ trunk/E-MODULES-EXTRA/notification/src/e_mod_main.h	(working copy)
@@ -5,6 +5,8 @@
 #include <E_Notification_Daemon.h>
 #include <e.h>
 #include <Evas.h>
+#include <string.h>
+#include <E_Notify.h>
 
 #include "e_mod_macro.h"
 #include "e_mod_types.h"
------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to