Index: runtime/knotify/knotifyconfig.h
===================================================================
--- runtime/knotify/knotifyconfig.h	(revision 937254)
+++ runtime/knotify/knotifyconfig.h	(working copy)
@@ -69,6 +69,10 @@
 		QString readEntry(const QString& entry , bool path=false);
 		
 		/**
+		 * the title of the notification
+		 */
+		QString title;
+		/**
 		 * the text of the notification
 		 */
 		QString text;
Index: runtime/knotify/knotify.cpp
===================================================================
--- runtime/knotify/knotify.cpp	(revision 937254)
+++ runtime/knotify/knotify.cpp	(working copy)
@@ -110,13 +110,14 @@
 	delete e;
 }
 
-int KNotify::event( const QString & event, const QString & appname, const ContextList & contexts, const QString & text, const KNotifyImage & image, const QStringList & actions, WId winId )
+int KNotify::event( const QString & event, const QString & appname, const ContextList & contexts, const QString & title, const QString & text, const KNotifyImage & image, const QStringList & actions, WId winId )
 {
 	m_counter++;
 	Event *e=new Event(appname , contexts , event );
 	e->id = m_counter;
 	e->ref = 1;
 
+	e->config.title=title;
 	e->config.text=text;
 	e->config.actions=actions;
 	e->config.image=image;
@@ -136,13 +137,14 @@
 	return m_counter;
 }
 
-void KNotify::update(int id, const QString &text, const KNotifyImage& image,  const QStringList& actions)
+void KNotify::update(int id, const QString &title, const QString &text, const KNotifyImage& image,  const QStringList& actions)
 {
 	if(!m_notifications.contains(id))
 		return;
 
 	Event *e=m_notifications[id];
 	
+	e->config.title=title;
 	e->config.text=text;
 	e->config.image = image;
 	e->config.actions = actions;
@@ -205,7 +207,7 @@
 }
 
 int KNotifyAdaptor::event(const QString &event, const QString &fromApp, const QVariantList& contexts,
-						   const QString &text, const QByteArray& image,  const QStringList& actions , qlonglong winId)
+						const QString &title, const QString &text, const QByteArray& image,  const QStringList& actions , qlonglong winId)
 //						  const QDBusMessage & , int _return )
 								  
 {
@@ -229,7 +231,7 @@
 			contextlist << qMakePair(context_key , s);
 	}
 	
-	return static_cast<KNotify *>(parent())->event(event, fromApp, contextlist, text, image, actions, WId(winId));
+	return static_cast<KNotify *>(parent())->event(event, fromApp, contextlist, title, text, image, actions, WId(winId));
 }
 
 void KNotifyAdaptor::reemit(int id, const QVariantList& contexts)
@@ -248,9 +250,9 @@
 }
 
 
-void KNotifyAdaptor::update(int id, const QString &text, const QByteArray& image,  const QStringList& actions )
+void KNotifyAdaptor::update(int id, const QString &title, const QString &text, const QByteArray& image,  const QStringList& actions )
 {
-	static_cast<KNotify *>(parent())->update(id, text, image, actions);
+	static_cast<KNotify *>(parent())->update(id, title, text, image, actions);
 }
 
 #include "knotify.moc"
Index: runtime/knotify/notifybypopup.cpp
===================================================================
--- runtime/knotify/notifybypopup.cpp	(revision 944865)
+++ runtime/knotify/notifybypopup.cpp	(working copy)
@@ -384,7 +384,7 @@
 	args.append( dbus_replaces_id ); // replaces_id
 	args.append( config->eventid ); // event_id
 	args.append( iconName ); // app_icon
-	args.append( QString()); // summary
+	args.append( config->title ); // summary
 	args.append( config->text ); // body
 	// galago spec defines action list to be list like
 	// (act_id1, action1, act_id2, action2, ...)
Index: runtime/knotify/knotify.h
===================================================================
--- runtime/knotify/knotify.h	(revision 937254)
+++ runtime/knotify/knotify.h	(working copy)
@@ -52,9 +52,9 @@
 		void closeNotification( int id);
 		
 		int event(const QString &event, const QString &fromApp, const ContextList& contexts ,
-				   const QString &text, const KNotifyImage& image,  const QStringList& actions , WId winId = 0);
+				const QString &title, const QString &text, const KNotifyImage& image,  const QStringList& actions , WId winId = 0);
 		
-		void update(int id, const QString &text, const KNotifyImage& image,  const QStringList& actions);
+		void update(int id, const QString &title, const QString &text, const KNotifyImage& image,  const QStringList& actions);
 		void reemit(int id, const ContextList& contexts);
 	Q_SIGNALS:
 		void notificationClosed( int id);
@@ -104,6 +104,7 @@
 							"<arg name=\"event\" type=\"s\" direction=\"in\"/>"
 							"<arg name=\"fromApp\" type=\"s\" direction=\"in\"/>"
 							"<arg name=\"contexts\" type=\"av\" direction=\"in\"/>"
+							"<arg name=\"title\" type=\"s\" direction=\"in\"/>"
 							"<arg name=\"text\" type=\"s\" direction=\"in\"/>"
 							"<arg name=\"pixmap\" type=\"ay\" direction=\"in\"/>"
 							"<arg name=\"actions\" type=\"as\" direction=\"in\"/>"
@@ -111,6 +112,7 @@
 						"</method>"
 						"<method name=\"update\">"
 							"<arg name=\"id\" type=\"i\" direction=\"in\"/>"
+							"<arg name=\"title\" type=\"s\" direction=\"in\"/>"
 							"<arg name=\"text\" type=\"s\" direction=\"in\"/>"
 							"<arg name=\"pixmap\" type=\"ay\" direction=\"in\"/>"
 							"<arg name=\"actions\" type=\"as\" direction=\"in\"/>"
@@ -132,10 +134,10 @@
 		void closeNotification( int id);
 		
 		int event(const QString &event, const QString &fromApp, const QVariantList& contexts ,
-								const QString &text, const QByteArray& pixmap,  const QStringList& actions , qlonglong winId );
+								const QString &title, const QString &text, const QByteArray& pixmap,  const QStringList& actions , qlonglong winId );
 		
 		void reemit(int id, const QVariantList& contexts);
-		void update(int id, const QString &text, const QByteArray& pixmap,  const QStringList& actions );
+		void update(int id, const QString &title, const QString &text, const QByteArray& pixmap,  const QStringList& actions );
 
 	Q_SIGNALS:
 		void notificationClosed( int id);
