Index: fact/tools/Edd/Edd.cc
===================================================================
--- fact/tools/Edd/Edd.cc	(revision 10984)
+++ fact/tools/Edd/Edd.cc	(revision 11088)
@@ -901,5 +901,6 @@
   // Menu bar
   QMenu* Menu = menuBar()->addMenu("&Menu");
-  Menu->addAction("New history plot", this, SLOT(MenuNewHistory()));
+  Menu->addAction("Open history plot", this, SLOT(MenuNewHistory()));
+  Menu->addAction("Send command", this, SLOT(MenuCommand()));
   Menu->addAction("Raw data browser", this, SLOT(MenuRawDataBrowser()));
   Menu->addSeparator();
@@ -939,5 +940,5 @@
 }
 
-// Open request for new history plot
+// Open new history plot
 void GUI::MenuNewHistory() {
 
@@ -956,9 +957,44 @@
   // Open dialog and open history window
   QString Result = QInputDialog::getItem(this, "Edd Request",
-    "Enter DIM service name", List, 0, true, &OK);
+    "Enter or choose DIM service name (add index separated by colon)", List, 0, true, &OK);
+
+  // Check if cancelled or empty data
+  List = Result.trimmed().split(":", QString::SkipEmptyParts);
+  if (!OK || List.isEmpty()) return;
+
+  if (List.size() == 1) OpenHistory(List[0].toAscii().data(), 0);
+  else OpenHistory(List[0].toAscii().data(), atoi(List[1].toAscii().data()));
+}
+
+// Send command selected from list
+void GUI::MenuCommand() {
+
+  QStringList List;
+  char *Name, *Format;
+  int Type;
+  bool OK;
+
+  // Find all DIM commands and sort
+  getServices("*");
+  while ((Type = getNextService(Name, Format)) != 0) {
+    if (Type==DimCOMMAND) List.append(Name);
+  }
+  List.sort();
+
+  // Open dialog and open window for entering command
+  QString Result = QInputDialog::getItem(this, "Edd Request",
+    "Enter or choose DIM command name", List, 0, true, &OK);
   if (OK && !Result.isEmpty()) {
     Result = Result.trimmed();
-    QWidget *Hist = OpenHistory(Result.toAscii().data(), 0);
-    if (Hist != NULL) Hist->show();
+	
+	QMainWindow *M = new QMainWindow;
+	M->setCentralWidget(new QWidget(M));
+	M->setStatusBar(new QStatusBar(M));
+	M->setAttribute(Qt::WA_DeleteOnClose);
+	QWidget *W = new EddCommand(Result.toAscii().data());
+	QFormLayout *FormLayout = new QFormLayout(M->centralWidget());
+	FormLayout->setRowWrapPolicy(QFormLayout::WrapAllRows);
+	FormLayout->addRow("Enter argument for " + Result, W);
+	M->show();
   }
 }
Index: fact/tools/Edd/Edd.h
===================================================================
--- fact/tools/Edd/Edd.h	(revision 10984)
+++ fact/tools/Edd/Edd.h	(revision 11088)
@@ -142,4 +142,5 @@
     void MenuAbout();
     void MenuNewHistory();
+    void MenuCommand();
     void MenuRawDataBrowser();
 	void DetachTab(int, bool=false);
