diff options
author | runge <runge> | 2008-09-07 04:17:33 +0000 |
---|---|---|
committer | runge <runge> | 2008-09-07 04:17:33 +0000 |
commit | d5cba7a574a667f5321194cb05d0b4adcb995866 (patch) | |
tree | 2748fd38612cc63256ee864284cd8dab19f4eba1 /x11vnc/x11vnc.c | |
parent | dbfa4ad1f78f6133bc5f50e766f7f3bfdb8fa049 (diff) | |
download | libtdevnc-d5cba7a574a667f5321194cb05d0b4adcb995866.tar.gz libtdevnc-d5cba7a574a667f5321194cb05d0b4adcb995866.zip |
x11vnc: kill gui_pid on exit in -connect/-connect_or_exit mode.
-grablocal n experiment (not compiled by default). -macuskbd
option for macosx for orig uskdb code. keycode=N remote contol
cmd. Find dpy look at non-NFS cookies in /tmp. Fix gui tray
insertion on recent gnome dt. Fix connect_file bug. Sync SSVNC
Diffstat (limited to 'x11vnc/x11vnc.c')
-rw-r--r-- | x11vnc/x11vnc.c | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/x11vnc/x11vnc.c b/x11vnc/x11vnc.c index 9a67d45..cf7e122 100644 --- a/x11vnc/x11vnc.c +++ b/x11vnc/x11vnc.c @@ -965,7 +965,7 @@ void check_redir_services(void) { } void ssh_remote_tunnel(char *instr, int lport) { - char *p, *q, *cmd, *ssh; + char *q, *cmd, *ssh; char *s = strdup(instr); int sleep = 300, disp = 0, sport = 0; int rc, len, rport; @@ -1089,7 +1089,6 @@ void ssh_remote_tunnel(char *instr, int lport) { free(cmd); free(s); - } void check_filexfer(void) { @@ -1272,6 +1271,11 @@ static void watch_loop(void) { check_xrecord_reset(0); check_add_keysyms(); check_new_passwds(0); +#ifdef ENABLE_GRABLOCAL + if (grab_local) { + check_local_grab(); + } +#endif if (started_as_root) { check_switched_user(); } @@ -2600,14 +2604,19 @@ int main(int argc, char* argv[]) { } else if (!strcmp(arg, "-connect") || !strcmp(arg, "-connect_or_exit")) { CHECK_ARGC - if (strchr(argv[++i], '/' && !strstr(argv[i], "repeater://"))) { + if (!strcmp(arg, "-connect_or_exit")) { + connect_or_exit = 1; + } + if (strchr(argv[++i], '/') && !strstr(argv[i], "repeater://")) { + struct stat sb; client_connect_file = strdup(argv[i]); + if (stat(client_connect_file, &sb) != 0) { + FILE* f = fopen(client_connect_file, "w"); + if (f != NULL) fclose(f); + } } else { client_connect = strdup(argv[i]); } - if (!strcmp(arg, "-connect_or_exit")) { - connect_or_exit = 1; - } } else if (!strcmp(arg, "-proxy")) { CHECK_ARGC connect_proxy = strdup(argv[++i]); @@ -2634,6 +2643,11 @@ int main(int argc, char* argv[]) { grab_kbd = 1; grab_ptr = 1; grab_always = 1; +#ifdef ENABLE_GRABLOCAL + } else if (!strcmp(arg, "-grablocal")) { + CHECK_ARGC + grab_local = atoi(argv[++i]); +#endif } else if (!strcmp(arg, "-viewpasswd")) { vpw_loc = i; CHECK_ARGC @@ -3368,6 +3382,8 @@ int main(int argc, char* argv[]) { macosx_icon_anim_time = atoi(argv[++i]); } else if (!strcmp(arg, "-macmenu")) { macosx_ncache_macmenu = 1; + } else if (!strcmp(arg, "-macuskbd")) { + macosx_us_kbd = 1; } else if (!strcmp(arg, "-gui")) { launch_gui = 1; if (i < argc-1) { |