diff --git a/src/chatdialog.h b/src/chatdialog.h
index 951edbb..b59a5a4 100644
--- a/src/chatdialog.h
+++ b/src/chatdialog.h
@@ -17,6 +17,7 @@
 #include <QTextTable>
 #include <QStringListModel>
 #include <QTimer>
+#include <QSystemTrayIcon>
 
 #include "invitelistdialog.h"
 
@@ -94,8 +95,15 @@
   void 
   processRemoveWrapper(std::string);
 
+  void
+  publishIntroCert(const ndn::security::IdentityCertificate& dskCertificate, bool isIntroducer);
+
 protected:
-  void closeEvent(QCloseEvent *e);
+  void 
+  closeEvent(QCloseEvent *e);
+
+  void
+  changeEvent(QEvent *e);
 
 private:
 
@@ -110,9 +118,6 @@
 
   void
   initializeSync();
-
-  void
-  publishIntroCert(ndn::Ptr<ndn::security::IdentityCertificate> dskCertificate, bool isIntroducer);
   
   void 
   onInviteReplyVerified(ndn::Ptr<ndn::Data> data, const ndn::Name& identity, bool isIntroducer);
@@ -161,6 +166,12 @@
   void 
   fitView();
 
+  void 
+  createActions();
+
+  void
+  createTrayIcon();
+
   QString 
   formatTime(time_t);
 
@@ -225,6 +236,12 @@
   reap();
 
   void 
+  iconActivated(QSystemTrayIcon::ActivationReason reason);
+
+  void
+  messageClicked();
+
+  void 
   showMessage(QString, QString);
   
   void
@@ -257,7 +274,7 @@
   int m_randomizedInterval;
   QTimer *m_timer;
   QStringListModel *m_rosterModel;
-  
+  QSystemTrayIcon *trayIcon;
 
   // QQueue<SyncDemo::ChatMessage> m_history;
   // bool m_historyInitialized;
