summaryrefslogtreecommitdiffstats
path: root/x11vnc/remote.c
diff options
context:
space:
mode:
authorrunge <runge>2007-01-10 19:28:46 +0000
committerrunge <runge>2007-01-10 19:28:46 +0000
commit7717d245af144d36662e6884592277570dea17b5 (patch)
tree2698748e9190b43a210946508601b9eecd71630c /x11vnc/remote.c
parent5b3e420c1f092fc8d83ad1803621007bb942d4dd (diff)
downloadlibtdevnc-7717d245af144d36662e6884592277570dea17b5.tar.gz
libtdevnc-7717d245af144d36662e6884592277570dea17b5.zip
some -ncache performance improvements, rootpixmap watching, gnome wm heuristics
Diffstat (limited to 'x11vnc/remote.c')
-rw-r--r--x11vnc/remote.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/x11vnc/remote.c b/x11vnc/remote.c
index 2b793d1..93f8de5 100644
--- a/x11vnc/remote.c
+++ b/x11vnc/remote.c
@@ -2779,6 +2779,40 @@ char *process_remote_cmd(char *cmd, int stringonly) {
ncache_dt_change = 1;
rfbLog("remote_cmd: disabled -ncache_no_dt_change\n");
+ } else if (!strcmp(p, "ncache_no_rootpixmap")) {
+ int orig = ncache_xrootpmap;
+ if (query) {
+ snprintf(buf, bufn, "ans=%s:%d", p, !ncache_xrootpmap);
+ goto qry;
+ }
+ ncache_xrootpmap = 0;
+ rfbLog("remote_cmd: set -ncache_no_rootpixmap\n");
+ if (orig != ncache_xrootpmap) {
+ do_new_fb(1);
+ }
+
+ } else if (!strcmp(p, "noncache_no_rootpixmap")) {
+ int orig = ncache_xrootpmap;
+ if (query) {
+ snprintf(buf, bufn, "ans=%s:%d", p, ncache_xrootpmap);
+ goto qry;
+ }
+ ncache_xrootpmap = 1;
+ rfbLog("remote_cmd: disabled -ncache_no_rootpixmap\n");
+ if (orig != ncache_xrootpmap) {
+ do_new_fb(1);
+ }
+
+ } else if (!strcmp(p, "ncache_reset_rootpixmap")) {
+ if (query) {
+ snprintf(buf, bufn, "ans=%s:%d", p, !ncache_xrootpmap);
+ goto qry;
+ }
+ if (ncache_xrootpmap) {
+ rfbLog("remote_cmd: resetting root pixmap.\n");
+ set_ncache_xrootpmap();
+ }
+
} else if (!strcmp(p, "ncache")) {
if (query) {
snprintf(buf, bufn, "ans=%s:%d", p, !!ncache);