Commit 89148d77 authored by runge's avatar runge

main.c: no sraRgnSubstract for copyRect, scrolls for x11vnc -scale; add -fixscreen

parent 4effb62e
2005-06-03 Karl Runge <runge@karlrunge.com>
* libvncserver/main.c: remove sraRgnSubtract from copyRegion
* x11vnc: scrollcopyrect under -scale, add -fixscreen.
2005-05-30 Karl Runge <runge@karlrunge.com> 2005-05-30 Karl Runge <runge@karlrunge.com>
* libvncserver/main.c: fix copyRect for non-cursor-shape-aware clients. * libvncserver/main.c: fix copyRect for non-cursor-shape-aware clients.
......
...@@ -148,10 +148,8 @@ void rfbScheduleCopyRegion(rfbScreenInfoPtr rfbScreen,sraRegionPtr copyRegion,in ...@@ -148,10 +148,8 @@ void rfbScheduleCopyRegion(rfbScreenInfoPtr rfbScreen,sraRegionPtr copyRegion,in
if(!sraRgnEmpty(cursorRegion)) { if(!sraRgnEmpty(cursorRegion)) {
/* /*
* current cursor rect overlaps with the copy region *dest*, * current cursor rect overlaps with the copy region *dest*,
* so remove it from the copy-rect treatment, and mark it as * mark it as modified since we won't copy-rect stuff to it.
* modified since we won't copy-rect stuff to it.
*/ */
sraRgnSubtract(cl->copyRegion, cursorRegion);
sraRgnOr(cl->modifiedRegion, cursorRegion); sraRgnOr(cl->modifiedRegion, cursorRegion);
} }
sraRgnDestroy(cursorRegion); sraRgnDestroy(cursorRegion);
...@@ -163,11 +161,9 @@ void rfbScheduleCopyRegion(rfbScreenInfoPtr rfbScreen,sraRegionPtr copyRegion,in ...@@ -163,11 +161,9 @@ void rfbScheduleCopyRegion(rfbScreenInfoPtr rfbScreen,sraRegionPtr copyRegion,in
if(!sraRgnEmpty(cursorRegion)) { if(!sraRgnEmpty(cursorRegion)) {
/* /*
* current cursor rect overlaps with the copy region *source*, * current cursor rect overlaps with the copy region *source*,
* so remove it from the copy-rect treatment, and mark the * mark the *displaced* cursorRegion as modified since we
* *displaced* cursorRegion as modified since we won't copyrect * won't copyrect stuff to it.
* stuff to it.
*/ */
sraRgnSubtract(cl->copyRegion, cursorRegion);
sraRgnOr(cl->modifiedRegion, cursorRegion); sraRgnOr(cl->modifiedRegion, cursorRegion);
} }
sraRgnDestroy(cursorRegion); sraRgnDestroy(cursorRegion);
......
2005-06-03 Karl Runge <runge@karlrunge.com>
* make scrollcopyrect more or less usable under -scale
* add -fixscreen for periodic cleanup of painting errors.
* adjust keyrepeat scroll behavior.
2005-05-30 Karl Runge <runge@karlrunge.com> 2005-05-30 Karl Runge <runge@karlrunge.com>
* alter "magic cleanup key sequences" (N*Alt_L and N*Super_L) * alter "magic cleanup key sequences" (N*Alt_L and N*Super_L)
* dial down check_xrecord_reset() reset times. * dial down check_xrecord_reset() reset times.
......
This diff is collapsed.
...@@ -103,6 +103,7 @@ Screen ...@@ -103,6 +103,7 @@ Screen
=DRA refresh =DRA refresh
=RA reset =RA reset
=DRA blacken =DRA blacken
fixscreen:
-- D -- D
id: id:
sid: sid:
......
...@@ -109,6 +109,7 @@ ...@@ -109,6 +109,7 @@
" =DRA refresh\n" " =DRA refresh\n"
" =RA reset\n" " =RA reset\n"
" =DRA blacken\n" " =DRA blacken\n"
" fixscreen:\n"
" -- D\n" " -- D\n"
" id:\n" " id:\n"
" sid:\n" " sid:\n"
......
.\" This file was automatically generated from x11vnc -help output. .\" This file was automatically generated from x11vnc -help output.
.TH X11VNC "1" "May 2005" "x11vnc " "User Commands" .TH X11VNC "1" "June 2005" "x11vnc " "User Commands"
.SH NAME .SH NAME
x11vnc - allow VNC connections to real X11 displays x11vnc - allow VNC connections to real X11 displays
version: 0.7.2, lastmod: 2005-05-30 version: 0.7.2, lastmod: 2005-06-03
.SH SYNOPSIS .SH SYNOPSIS
.B x11vnc .B x11vnc
[OPTION]... [OPTION]...
...@@ -185,18 +185,21 @@ is taken as a floating point number, alternatively ...@@ -185,18 +185,21 @@ is taken as a floating point number, alternatively
the notation "m/n" may be used to denote fractions the notation "m/n" may be used to denote fractions
exactly, e.g. \fB-scale\fR 2/3 exactly, e.g. \fB-scale\fR 2/3
.IP .IP
Scaling Options: can be added after \fIfraction\fR Scaling Options: can be added after \fIfraction\fR via
via ":", to supply multiple ":" options use ":", to supply multiple ":" options use commas. If
commas. If you just want a quick, rough scaling you just want a quick, rough scaling without blending,
without blending, append ":nb" to \fIfraction\fR append ":nb" to \fIfraction\fR (e.g. \fB-scale\fR 1/3:nb).
(e.g. \fB-scale\fR 1/3:nb). No blending is the default No blending is the default for 8bpp indexed color, to
for 8bpp indexed color, to force blending for this force blending for this case use ":fb". By default
case use ":fb". For compatibility with vncviewers \fB-scrollcopyrect\fR and \fB-wirecopyrect\fR are disabled under
\fB-scale,\fR to enable them use ":cr".
.IP
More esoteric options: for compatibility with vncviewers
the scaled width is adjusted to be a multiple of 4: the scaled width is adjusted to be a multiple of 4:
to disable this use ":n4". More esoteric options: to disable this use ":n4". ":in" use interpolation
":in" use interpolation scheme even when shrinking, scheme even when shrinking, ":pad", pad scaled width
":pad", pad scaled width and height to be multiples and height to be multiples of scaling denominator
of scaling denominator (e.g. 3 for 2/3). (e.g. 3 for 2/3).
.PP .PP
\fB-scale_cursor\fR \fIfrac\fR \fB-scale_cursor\fR \fIfrac\fR
.IP .IP
...@@ -1081,7 +1084,8 @@ in, but helps on a slow link). Default: "always" ...@@ -1081,7 +1084,8 @@ in, but helps on a slow link). Default: "always"
.IP .IP
Note: there can be painting errors when using \fB-scale\fR Note: there can be painting errors when using \fB-scale\fR
so CopyRect is skipped when scaling unless you specify so CopyRect is skipped when scaling unless you specify
\fB-wirecopyrect\fR on the command line or by remote-control. "\fB-wirecopyrect\fR \fIalways\fR" on the command line or by
remote-control. Or you can also use "\fB-scale\fR \fIxxx:cr\fR"
.PP .PP
\fB-debug_wireframe\fR \fB-debug_wireframe\fR
.IP .IP
...@@ -1133,10 +1137,10 @@ in response to keystrokes only, "mouse" means to ...@@ -1133,10 +1137,10 @@ in response to keystrokes only, "mouse" means to
try it in response to mouse events only, "always" try it in response to mouse events only, "always"
means to do both. Default: "always" means to do both. Default: "always"
.IP .IP
Note: there can be painting errors when using Note: there can be painting errors when using \fB-scale\fR
\fB-scale\fR so CopyRect is skipped when scaling unless so CopyRect is skipped when scaling unless you specify
you specify \fB-scrollcopyrect\fR on the command line or "\fB-scrollcopyrect\fR \fIalways\fR" on the command line or by
by remote-control. remote-control. You can also use "\fB-scale\fR \fIxxx:cr\fR"
.PP .PP
\fB-scr_area\fR \fIn\fR \fB-scr_area\fR \fIn\fR
.IP .IP
...@@ -1290,6 +1294,32 @@ mouse scrolls). s5 is the maximum time to spend just ...@@ -1290,6 +1294,32 @@ mouse scrolls). s5 is the maximum time to spend just
updating the scroll window without updating the rest updating the scroll window without updating the rest
of the screen. of the screen.
.PP .PP
\fB-fixscreen\fR \fIstring\fR
.IP
Periodically "repair" the screen based on settings
in \fIstring\fR. Hopefully you won't need this option,
it is intended for cases when the \fB-scrollcopyrect\fR or
\fB-wirecopyrect\fR features leave too many painting errors,
but it can be used for any scenario. This option
periodically performs costly operations and so
interactive response may be reduced when it is on.
The 3 Alt_L's in a row described under \fB-scrollcopyrect\fR
can be used instead to manually request a screen repaint
when it is needed.
.IP
\fIstring\fR is a comma separated list of one or more
of the following: "V=t", "C=t", and "X=t".
In these "t" stands for a time in seconds (it is
a floating point even though one should usually use
values > 2 to avoid wasting resources). V sets how
frequently the entire screen should be sent to viewers
(it is like the 3 Alt_L's). C sets how long after a
CopyRect the full screen should be repainted. X sets
how frequently to reread the full X11 framebuffer from
the X server and push it out to connected viewers.
Use of X should be rare. Examples: \fB-fixscreen\fR V=10
\fB-fixscreen\fR C=10
.PP
\fB-debug_scroll\fR \fB-debug_scroll\fR
.IP .IP
Turn on debugging info printout for the scroll Turn on debugging info printout for the scroll
...@@ -1986,6 +2016,8 @@ scr_keyrepeat:str set \fB-scr_keyrepeat\fR to "str" ...@@ -1986,6 +2016,8 @@ scr_keyrepeat:str set \fB-scr_keyrepeat\fR to "str"
.IP .IP
scr_parms:str set \fB-scr_parms\fR parameters. scr_parms:str set \fB-scr_parms\fR parameters.
.IP .IP
fixscreen:str set \fB-fixscreen\fR to "str".
.IP
noxrecord disable all use of RECORD extension. noxrecord disable all use of RECORD extension.
.IP .IP
xrecord enable use of RECORD extension. xrecord enable use of RECORD extension.
...@@ -2182,20 +2214,21 @@ noxwarp buttonmap dragging nodragging wireframe_mode ...@@ -2182,20 +2214,21 @@ noxwarp buttonmap dragging nodragging wireframe_mode
wireframe wf nowireframe nowf wirecopyrect wcr wireframe wf nowireframe nowf wirecopyrect wcr
nowirecopyrect nowcr scr_area scr_skip scr_inc scr_keys nowirecopyrect nowcr scr_area scr_skip scr_inc scr_keys
scr_term scr_keyrepeat scr_parms scrollcopyrect scr scr_term scr_keyrepeat scr_parms scrollcopyrect scr
noscrollcopyrect noscr noxrecord xrecord pointer_mode noscrollcopyrect noscr fixscreen noxrecord xrecord
pm input_skip input client_input speeds debug_pointer dp pointer_mode pm input_skip input client_input speeds
nodebug_pointer nodp debug_keyboard dk nodebug_keyboard debug_pointer dp nodebug_pointer nodp debug_keyboard
nodk deferupdate defer wait_ui wait_bog nowait_bog wait dk nodebug_keyboard nodk deferupdate defer wait_ui
readtimeout nap nonap sb screen_blank fs gaps grow fuzz wait_bog nowait_bog wait readtimeout nap nonap sb
snapfb nosnapfb rawfb progressive rfbport http nohttp screen_blank fs gaps grow fuzz snapfb nosnapfb
httpport httpdir enablehttpproxy noenablehttpproxy rawfb progressive rfbport http nohttp httpport
alwaysshared noalwaysshared nevershared noalwaysshared httpdir enablehttpproxy noenablehttpproxy alwaysshared
dontdisconnect nodontdisconnect desktop debug_xevents noalwaysshared nevershared noalwaysshared dontdisconnect
nodebug_xevents debug_xevents debug_xdamage nodontdisconnect desktop debug_xevents nodebug_xevents
nodebug_xdamage debug_xdamage debug_wireframe debug_xevents debug_xdamage nodebug_xdamage
nodebug_wireframe debug_wireframe debug_scroll debug_xdamage debug_wireframe nodebug_wireframe
nodebug_scroll debug_scroll debug_tiles dbt debug_wireframe debug_scroll nodebug_scroll debug_scroll
nodebug_tiles nodbt debug_tiles dbg nodbg noremote debug_tiles dbt nodebug_tiles nodbt debug_tiles dbg
nodbg noremote
.IP .IP
aro= display vncdisplay desktopname http_url auth aro= display vncdisplay desktopname http_url auth
users rootshift clipshift scale_str scaled_x scaled_y users rootshift clipshift scale_str scaled_x scaled_y
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment