diff options
Diffstat (limited to 'vnc-client.c')
-rw-r--r-- | vnc-client.c | 49 |
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(); |