aboutsummaryrefslogtreecommitdiffstats
path: root/vnc-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'vnc-client.c')
-rw-r--r--vnc-client.c49
1 files changed, 17 insertions, 32 deletions
diff --git a/vnc-client.c b/vnc-client.c
index 56599f6..c5c24c3 100644
--- a/vnc-client.c
+++ b/vnc-client.c
@@ -24,12 +24,9 @@ static void usage(FILE *fp)
"options:\n"
" -h Print this text.\n"
" -d Enable debug output.\n"
- " -u Send us kbd layout keysyms.\n"
" -p Show mouse pointer.\n"
" -f Start in fullscreen mode.\n"
- " -g Enable OpenGL for fullscreen mode.\n"
- " -G Enable OpenGL unconditionally.\n"
- " -o View only.\n"
+ " -c Close on disconnect.\n"
"\n"
"-- \n"
"(c) 2006 Gerd Hoffmann <kraxel@suse.de>\n");
@@ -46,30 +43,21 @@ main(int argc, char *argv[])
gtk_init(&argc, &argv);
for (;;) {
- if (-1 == (c = getopt(argc, argv, "hdupfgGo")))
+ if (-1 == (c = getopt(argc, argv, "hdpfc")))
break;
switch (c) {
case 'd':
debug++;
break;
- case 'u':
- vnc_flags |= VNC_FLAG_US_KBD;
- break;
case 'p':
vnc_flags |= VNC_FLAG_SHOW_MOUSE;
break;
- case 'o':
- vnc_flags |= VNC_FLAG_VIEW_ONLY;
- break;
- case 'g':
- vnc_flags |= VNC_FLAG_GL_FULLSCR;
- break;
- case 'G':
- vnc_flags |= VNC_FLAG_GL_ALLWAYS;
- break;
case 'f':
vnc_flags |= VNC_FLAG_FULLSCREEN;
break;
+ case 'c':
+ vnc_flags |= VNC_FLAG_DISCONNECT_CLOSE;
+ break;
case 'h':
usage(stdout);
exit(0);
@@ -79,23 +67,20 @@ main(int argc, char *argv[])
}
}
- if (optind+1 > argc) {
- usage(stderr);
- exit(1);
- }
-
- if (2 == sscanf(argv[optind], "%64[^:]:%d", hostname, &displayno)) {
- port = displayno + 5900;
- goto connect;
+ if (optind < argc) {
+ if (2 == sscanf(argv[optind], "%64[^:]:%d", hostname, &displayno)) {
+ port = displayno + 5900;
+ goto connect;
+ }
+ if (2 != sscanf(argv[optind], "%64[^:]::%d", hostname, &port)) {
+ goto connect;
+ }
}
- if (2 == sscanf(argv[optind], "%64[^:]::%d", hostname, &port))
- goto connect;
-
- usage(stderr);
- exit(1);
+ strcpy(hostname, "");
- connect:
- if (NULL == vnc_open(hostname, port, vnc_flags, debug))
+connect:
+ if (NULL == vnc_open(strlen(hostname) ? hostname : NULL,
+ port, vnc_flags, debug))
exit(1);
gtk_main();