diff --git a/src/main.cpp b/src/main.cpp
index c29a67d6bd473ff48d6c445e7360e55b2a233e81..e8e0726bebeee9b0b08b4a4038dccacf237362b7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,6 +1,7 @@
 #include <quapplication.h>
 #include "tiptiltgcs.h"
-
+#include <QCommandLineParser>
+#include <QCommandLineOption>
 // cumbia
 #include <cumbiapool.h>
 #include <cuthreadfactoryimpl.h>
@@ -22,9 +23,13 @@ int main(int argc, char *argv[])
     qu_app.setProperty("office", "T2 ");
     qu_app.setProperty("hwReferent", "R. Gobessi, A. Bogani "); /* name of the referent that provides the device server */
     
+    QCommandLineParser parser;
+    parser.addOption(QCommandLineOption("xy", "enable XY"));
+    parser.addOption(QCommandLineOption("fn", "enable FN"));
+    parser.parse(qu_app.arguments());
 
     CumbiaPool *cu_p = new CumbiaPool();
-    TipTiltGcs *w = new TipTiltGcs(cu_p, NULL);
+    TipTiltGcs *w = new TipTiltGcs(cu_p, NULL, parser.isSet("xy"), parser.isSet("fn"));
     w->show();
     // exec application loop
     int ret = qu_app.exec();
diff --git a/src/tiptiltgcs.cpp b/src/tiptiltgcs.cpp
index bd89a9257285ea363a99334c08e8b24cd164564c..81fdd0d3334673c660dba1d023d9d8682ec6515e 100644
--- a/src/tiptiltgcs.cpp
+++ b/src/tiptiltgcs.cpp
@@ -10,7 +10,7 @@
 // cumbia
 #include <QErrorMessage>
 
-TipTiltGcs::TipTiltGcs(CumbiaPool *cumbia_pool, QWidget *parent) :
+TipTiltGcs::TipTiltGcs(CumbiaPool *cumbia_pool, QWidget *parent, bool xy, bool fn) :
   QWidget(parent)
 {
   // cumbia
@@ -19,13 +19,21 @@ TipTiltGcs::TipTiltGcs(CumbiaPool *cumbia_pool, QWidget *parent) :
   ui = new Ui::tiptiltgcs;
   ui->setupUi(this, cu_pool, m_ctrl_factory_pool);
 
-  if (QApplication::arguments().size() >= 3){
-      QString tabsel=QApplication::arguments()[2];
-      if (tabsel.contains("X") || tabsel.contains("Y"))
-        ui->tabWidget->setCurrentIndex(0);
-      if (tabsel.contains("F") || tabsel.contains("N"))
-        ui->tabWidget->setCurrentIndex(1);
-    }
+  if(xy && fn) {
+
+  }
+  else if(xy)
+      ui->tabWidget->removeTab(1);
+  else if(fn)
+      ui->tabWidget->removeTab(0);
+
+//  if (QApplication::arguments().size() >= 3){
+//      QString tabsel=QApplication::arguments()[2];
+//      if (tabsel.contains("X") || tabsel.contains("Y"))
+//        ui->tabWidget->setCurrentIndex(0);
+//      if (tabsel.contains("F") || tabsel.contains("N"))
+//        ui->tabWidget->setCurrentIndex(1);
+//    }
 
 }
 
diff --git a/src/tiptiltgcs.h b/src/tiptiltgcs.h
index 76fd40b78dc01ce0e19aa08228182f08164b661e..5084e26a6e7bd434333900105fcbda1fb297d180 100644
--- a/src/tiptiltgcs.h
+++ b/src/tiptiltgcs.h
@@ -18,7 +18,7 @@ class TipTiltGcs : public QWidget
     Q_OBJECT
 
 public:
-    explicit TipTiltGcs(CumbiaPool *cu_p, QWidget *parent = nullptr);
+    explicit TipTiltGcs(CumbiaPool *cu_p, QWidget *parent, bool xy, bool fn);
     ~TipTiltGcs();
 private:
     Ui::tiptiltgcs *ui;