diff --git a/src/forwarder-status.cpp b/src/forwarder-status.cpp
index b908750..ebb9e32 100644
--- a/src/forwarder-status.cpp
+++ b/src/forwarder-status.cpp
@@ -101,7 +101,7 @@
   beginResetModel();
   m_items.clear();
   nfd::ForwarderStatus status(data->getContent());
-  addItem(ForwarderStatusItem("version",       QString::number(status.getNfdVersion())));
+  addItem(ForwarderStatusItem("version",       QString::fromStdString(status.getNfdVersion())));
   addItem(ForwarderStatusItem("startTime",     QString::fromStdString(time::toIsoString(status.getStartTimestamp()))));
   addItem(ForwarderStatusItem("currentTime",   QString::fromStdString(time::toIsoString(status.getCurrentTimestamp()))));
   addItem(ForwarderStatusItem("nNameTreeEntries", QString::number(status.getNNameTreeEntries())));
diff --git a/src/tray-menu.cpp b/src/tray-menu.cpp
index 386a64f..17aa557 100644
--- a/src/tray-menu.cpp
+++ b/src/tray-menu.cpp
@@ -77,7 +77,7 @@
   std::cout << "auto config" << std::endl;
   QProcess* proc = new QProcess();
   connect(proc, SIGNAL(finished(int)), proc, SLOT(deleteLater()));
-  proc->start(NFD_AUTOCONFIG_COMMAND);
+  // proc->start(NFD_AUTOCONFIG_COMMAND);
 }
 
 void
@@ -114,29 +114,29 @@
 void
 TrayMenu::startNfd()
 {
-  QProcess * proc = new QProcess();
-  connect(proc,SIGNAL(finished(int)), proc, SLOT(deleteLater()));
-#ifdef __linux__
-  proc->start("gksudo", QStringList() << NFD_START_COMMAND);
-#else
-  proc->start("osascript", QStringList()
-              << "-e"
-              << "do shell script \"" NFD_START_COMMAND "\" with administrator privileges");
-#endif
+//   QProcess * proc = new QProcess();
+//   connect(proc,SIGNAL(finished(int)), proc, SLOT(deleteLater()));
+// #ifdef __linux__
+//   proc->start("gksudo", QStringList() << NFD_START_COMMAND);
+// #else
+//   proc->start("osascript", QStringList()
+//               << "-e"
+//               << "do shell script \"" NFD_START_COMMAND "\" with administrator privileges");
+// #endif
 }
 
 void
 TrayMenu::stopNfd()
 {
-  QProcess * proc = new QProcess();
-  connect(proc,SIGNAL(finished(int)), proc, SLOT(deleteLater()));
-#ifdef __linux__
-  proc->start("gksudo", QStringList() << NFD_STOP_COMMAND);
-#else
-  proc->start("osascript", QStringList()
-              << "-e"
-              << "do shell script \"" NFD_STOP_COMMAND "\" with administrator privileges");
-#endif
+//   QProcess * proc = new QProcess();
+//   connect(proc,SIGNAL(finished(int)), proc, SLOT(deleteLater()));
+// #ifdef __linux__
+//   proc->start("gksudo", QStringList() << NFD_STOP_COMMAND);
+// #else
+//   proc->start("osascript", QStringList()
+//               << "-e"
+//               << "do shell script \"" NFD_STOP_COMMAND "\" with administrator privileges");
+// #endif
 }
 
 void
