x11vnc: Get ultravnc textchat working with ssvnc.

pull/1/head
runge 17 years ago
parent a874ddee36
commit d60e8ccfc8

@ -1,3 +1,6 @@
2007-02-18 Karl Runge <runge@karlrunge.com>
* x11vnc: Get ultravnc textchat working with ssvnc.
2007-02-16 Karl Runge <runge@karlrunge.com>
* x11vnc: add Files mode to user controlled input. more
ultra/tight filexfer tweaks. rfbversion remote control.

@ -1,5 +1,5 @@
x11vnc README file Date: Fri Feb 16 20:41:26 EST 2007
x11vnc README file Date: Sun Feb 18 18:24:55 EST 2007
The following information is taken from these URLs:
@ -10027,7 +10027,7 @@ x11vnc: a VNC server for real X displays
Here are all of x11vnc command line options:
% x11vnc -opts (see below for -help long descriptions)
x11vnc: allow VNC connections to real X11 displays. 0.8.5 lastmod: 2007-02-16
x11vnc: allow VNC connections to real X11 displays. 0.8.5 lastmod: 2007-02-18
x11vnc options:
-display disp -auth file -N
@ -10140,7 +10140,7 @@ libvncserver-tight-extension options:
% x11vnc -help
x11vnc: allow VNC connections to real X11 displays. 0.8.5 lastmod: 2007-02-16
x11vnc: allow VNC connections to real X11 displays. 0.8.5 lastmod: 2007-02-18
(type "x11vnc -opts" to just list the options.)

@ -2,7 +2,7 @@
.TH X11VNC "1" "February 2007" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.8.5, lastmod: 2007-02-16
version: 0.8.5, lastmod: 2007-02-18
.SH SYNOPSIS
.B x11vnc
[OPTION]...

@ -3814,6 +3814,7 @@ int main(int argc, char* argv[]) {
#if LIBVNCSERVER_HAVE_FORK && LIBVNCSERVER_HAVE_SETSID
if (bg) {
int p, n;
if (getenv("X11VNC_LOOP_MODE_BG")) {
if (screen && screen->listenSock >= 0) {
close(screen->listenSock);
@ -3835,7 +3836,6 @@ int main(int argc, char* argv[]) {
}
}
/* fork into the background now */
int p, n;
if ((p = fork()) > 0) {
exit(0);
} else if (p == -1) {

@ -15,7 +15,7 @@ int xtrap_base_event_type = 0;
int xdamage_base_event_type = 0;
/* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.8.5 lastmod: 2007-02-16";
char lastmod[] = "0.8.5 lastmod: 2007-02-18";
/* X display info */

@ -1374,25 +1374,41 @@ void set_server_input(rfbClientPtr cl, int grab) {
}
void set_text_chat(rfbClientPtr cl, int len, char *txt) {
char buf[100];
int dochat = 1;
rfbClientIteratorPtr iter;
rfbClientPtr cl2;
if (no_ultra_ext) {
if (no_ultra_ext || ! dochat) {
return;
}
#if 0
rfbLog("set_text_chat: len=%d\n", len);
rfbLog("set_text_chat: len=0x%x txt='", len);
if (0 < len && len < 10000) write(2, txt, len);
fprintf(stderr, "'\n");
#endif
if (unixpw_in_progress) {
rfbLog("set_text_chat: unixpw_in_progress, skipping.\n");
return;
}
if (0 && len == rfbTextChatOpen) {
if (rfbSendTextChatMessage(cl, rfbTextChatOpen, "")) {
rfbLog("rfbSendTextChatMessage: true\n");
} else {
rfbLog("rfbSendTextChatMessage: false\n");
iter = rfbGetClientIterator(screen);
while( (cl2 = rfbClientIteratorNext(iter)) ) {
if (cl2 == cl) {
continue;
}
if (len == rfbTextChatOpen) {
rfbSendTextChatMessage(cl2, rfbTextChatOpen, "");
} else if (len == rfbTextChatClose) {
rfbSendTextChatMessage(cl2, rfbTextChatClose, "");
} else if (len == rfbTextChatFinished) {
rfbSendTextChatMessage(cl2, rfbTextChatFinished, "");
} else if (len <= rfbTextMaxSize) {
rfbSendTextChatMessage(cl2, len, txt);
}
}
rfbReleaseClientIterator(iter);
}
int get_keyboard_led_state_hook(rfbScreenInfoPtr s) {
if (unixpw_in_progress) {
rfbLog("get_keyboard_led_state_hook: unixpw_in_progress, skipping.\n");

Loading…
Cancel
Save