Don't parse FLTK arguments using Fl::arg; handle -display as other options
Fl::arg accepts several arguments which we are not documenting. Also,
it accepts a -geometry argument, which clashes with our own -geometry
option.
diff --git a/vncviewer/parameters.cxx b/vncviewer/parameters.cxx
index 39a7f07..d24e5bc 100644
--- a/vncviewer/parameters.cxx
+++ b/vncviewer/parameters.cxx
@@ -134,6 +134,9 @@
"Send the primary selection to the "
"server as well as the clipboard selection",
true);
+StringParameter display("display",
+ "Specifies the X display on which the VNC viewer window should appear.",
+ "");
#endif
StringParameter menuKey("MenuKey", "The key which brings up the popup menu",
diff --git a/vncviewer/parameters.h b/vncviewer/parameters.h
index 9ce56b9..2ccd928 100644
--- a/vncviewer/parameters.h
+++ b/vncviewer/parameters.h
@@ -55,6 +55,7 @@
extern rfb::BoolParameter sendClipboard;
#if !defined(WIN32) && !defined(__APPLE__)
extern rfb::BoolParameter sendPrimary;
+extern rfb::StringParameter display;
#endif
extern rfb::StringParameter menuKey;
diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
index 426be27..bd3a562 100644
--- a/vncviewer/vncviewer.cxx
+++ b/vncviewer/vncviewer.cxx
@@ -495,9 +495,6 @@
}
for (int i = 1; i < argc;) {
- if (Fl::arg(argc, argv, i))
- continue;
-
if (Configuration::setParam(argv[i])) {
i++;
continue;
@@ -522,6 +519,9 @@
mkvnchomedir();
#if !defined(WIN32) && !defined(__APPLE__)
+ if (strcmp(display, "") != 0) {
+ Fl::display(display);
+ }
fl_open_display();
XkbSetDetectableAutoRepeat(fl_display, True, NULL);
#endif