--- a/glib/gio/gfdonotificationbackend.c	2015-03-05 01:14:59.797123789 +0600
+++ b/glib/gio/gfdonotificationbackend.c	2015-03-05 01:22:43.650779808 +0600
@@ -217,6 +217,7 @@
   GIcon *icon;
   GVariant *parameters;
   const gchar *body;
+  const gchar *icon_name;
   guchar urgency;
 
   g_variant_builder_init (&action_builder, G_VARIANT_TYPE_STRING_ARRAY);
@@ -262,6 +263,7 @@
   urgency = urgency_from_priority (g_notification_get_priority (notification));
   g_variant_builder_add (&hints_builder, "{sv}", "urgency", g_variant_new_byte (urgency));
   icon = g_notification_get_icon (notification);
+  icon_name = NULL;
   if (icon != NULL && G_IS_FILE_ICON (icon))
     {
       GFile *file;
@@ -270,13 +272,17 @@
       g_variant_builder_add (&hints_builder, "{sv}", "image-path",
                              g_variant_new_take_string (g_file_get_path (file)));
     }
-
+  else if (icon != NULL && G_IS_THEMED_ICON (icon))
+    {
+      const gchar* const * icon_names = g_themed_icon_get_names(G_THEMED_ICON (icon));
+      icon_name = icon_names[0];  /* Take first name from GThemedIcon */
+    }
   body = g_notification_get_body (notification);
 
   parameters = g_variant_new ("(susssasa{sv}i)",
-                              "",           /* app name */
+                              g_application_get_application_id(app) ? g_application_get_application_id(app) : "",   /* app name */
                               replace_id,
-                              "",           /* app icon */
+                              icon_name ? icon_name : "",              /* app icon */
                               g_notification_get_title (notification),
                               body ? body : "",
                               &action_builder,