x11vnc: X DAMAGE support, -clip WxH+X+Y, identd.

pull/1/head
runge 20 years ago
parent 4ff783f579
commit fba6f58a1a

@ -1,3 +1,6 @@
2005-03-12 Karl Runge <runge@karlrunge.com>
* x11vnc: X DAMAGE support, -clip WxH+X+Y, identd.
2005-03-05 Karl Runge <runge@karlrunge.com>
* autoconf: rpm -> rpmbuild and echo -n -> printf

@ -1,3 +1,14 @@
2005-03-12 Karl Runge <runge@karlrunge.com>
* support for the X DAMAGE extension to receive damage
rectangle reports from the X server. On by default, disable
with -noxdamage. Currently only trusts small rects
(but see -xd_area n) and uses the rest as "hints" for the
scanline polling.
* -clip WxH+X+Y to show a clipped sub-region of the screen.
* use RFC 1413 (identd) to attach a name to a client in
friendly environments.
* fix XAUTHORITY wrt '-auth ... -gui other:0'.
2005-03-04 Karl Runge <runge@karlrunge.com>
* add changes to couple with -listen option, in particular
the behavior of -localhost and remote control cmds.

File diff suppressed because it is too large Load Diff

@ -115,6 +115,7 @@ Screen
flashcmap
notruecolor
--
clip:
=P blackout:
xinerama
--
@ -139,12 +140,16 @@ Keyboard
Pointer
=D-C:none,arrow,X,some,most cursor:
noxfixes
noalphablend
--
cursorpos
=D nocursorshape
--
noxfixes
noalphablend
alphacut:
alphafrac:
alpharemove
--
buttonmap:
--
xwarppointer
@ -220,10 +225,6 @@ Tuning
noshm
flipbyteorder
onetile
--
alphacut:
alphafrac:
alpharemove
-- D
speeds:
=D wait:
@ -237,6 +238,11 @@ Tuning
fuzz:
snapfb
--
xdamage
xd_mem:
xd_area:
xd_width:
--
threads
--
progressive:
@ -2042,17 +2048,18 @@ proc client_dialog {client} {
global menu_var text_area cleanup_window item_bool
append_text "\nClient info string: $client\n\n"
if {[regexp {^(.*):(.*):(.*):(.*):(.*):(.*)$} \
$client m0 m1 m2 m3 m4 m5 m6]} {
# id:ip:port:hostname:input:loginvo
if {[regexp {^(.*):(.*):(.*):(.*):(.*):(.*):(.*)$} \
$client m0 m1 m2 m3 m4 m5 m6 m7]} {
# id:ip:port:user:hostname:input:loginvo
set cid $m1
set ip $m2
set port $m3
set host $m4
set user $m4
set host $m5
regsub {\..*$} $host "" host
set input $m5
set logvo $m6
append_text "Host: $host, Port: $port, IP: $ip, Id: $cid\n"
set input $m6
set logvo $m7
append_text "Host: $host, Port: $port, User: $user, IP: $ip, Id: $cid\n"
append_text " - originally logged in as: "
if {$logvo == "1" } {
append_text "View-Only Client\n"
@ -2184,10 +2191,10 @@ proc update_clients_menu {list} {
$subm add separator
set count 0
foreach client [split $list ","] {
if {[regexp {^(.*):(.*):(.*):(.*):(.*):(.*)$} \
$client m0 m1 m2 m3 m4 m5 m6]} {
# id:ip:port:hostname:input:loginvo
set host $m4
if {[regexp {^(.*):(.*):(.*):(.*):(.*):(.*):(.*)$} \
$client m0 m1 m2 m3 m4 m5 m6 m7]} {
# id:ip:port:user:hostname:input:loginvo
set host $m5
regsub {\..*$} $host "" host
set clabel "$host $m1"
} else {

@ -121,6 +121,7 @@
" flashcmap\n"
" notruecolor\n"
" --\n"
" clip:\n"
" =P blackout:\n"
" xinerama\n"
" --\n"
@ -145,12 +146,16 @@
"\n"
"Pointer\n"
" =D-C:none,arrow,X,some,most cursor:\n"
" noxfixes\n"
" noalphablend\n"
" --\n"
" cursorpos\n"
" =D nocursorshape\n"
" --\n"
" noxfixes\n"
" noalphablend\n"
" alphacut:\n"
" alphafrac:\n"
" alpharemove\n"
" --\n"
" buttonmap:\n"
" --\n"
" xwarppointer\n"
@ -226,10 +231,6 @@
" noshm\n"
" flipbyteorder\n"
" onetile\n"
" --\n"
" alphacut:\n"
" alphafrac:\n"
" alpharemove\n"
" -- D\n"
" speeds:\n"
" =D wait:\n"
@ -243,6 +244,11 @@
" fuzz:\n"
" snapfb\n"
" --\n"
" xdamage\n"
" xd_mem:\n"
" xd_area:\n"
" xd_width:\n"
" --\n"
" threads\n"
" --\n"
" progressive:\n"
@ -2048,17 +2054,18 @@
" global menu_var text_area cleanup_window item_bool\n"
"\n"
" append_text \"\\nClient info string: $client\\n\\n\"\n"
" if {[regexp {^(.*):(.*):(.*):(.*):(.*):(.*)$} \\\n"
" $client m0 m1 m2 m3 m4 m5 m6]} {\n"
" # id:ip:port:hostname:input:loginvo\n"
" if {[regexp {^(.*):(.*):(.*):(.*):(.*):(.*):(.*)$} \\\n"
" $client m0 m1 m2 m3 m4 m5 m6 m7]} {\n"
" # id:ip:port:user:hostname:input:loginvo\n"
" set cid $m1\n"
" set ip $m2\n"
" set port $m3\n"
" set host $m4\n"
" set user $m4\n"
" set host $m5\n"
" regsub {\\..*$} $host \"\" host\n"
" set input $m5\n"
" set logvo $m6\n"
" append_text \"Host: $host, Port: $port, IP: $ip, Id: $cid\\n\"\n"
" set input $m6\n"
" set logvo $m7\n"
" append_text \"Host: $host, Port: $port, User: $user, IP: $ip, Id: $cid\\n\"\n"
" append_text \" - originally logged in as: \"\n"
" if {$logvo == \"1\" } {\n"
" append_text \"View-Only Client\\n\"\n"
@ -2190,10 +2197,10 @@
" $subm add separator\n"
" set count 0\n"
" foreach client [split $list \",\"] {\n"
" if {[regexp {^(.*):(.*):(.*):(.*):(.*):(.*)$} \\\n"
" $client m0 m1 m2 m3 m4 m5 m6]} {\n"
" # id:ip:port:hostname:input:loginvo\n"
" set host $m4\n"
" if {[regexp {^(.*):(.*):(.*):(.*):(.*):(.*):(.*)$} \\\n"
" $client m0 m1 m2 m3 m4 m5 m6 m7]} {\n"
" # id:ip:port:user:hostname:input:loginvo\n"
" set host $m5\n"
" regsub {\\..*$} $host \"\" host\n"
" set clabel \"$host $m1\"\n"
" } else {\n"

@ -2,7 +2,7 @@
.TH X11VNC "1" "March 2005" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.7.2pre, lastmod: 2005-03-04
version: 0.7.2pre, lastmod: 2005-03-12
.SH SYNOPSIS
.B x11vnc
[OPTION]...
@ -89,6 +89,15 @@ shifts a root view to it: this shows SaveUnders menus,
etc, although they will be clipped if they extend beyond
the window.
.PP
\fB-clip\fR \fIWxH+X+Y\fR
.IP
Only show the sub-region of the full display that
corresponds to the rectangle with size WxH and offset
+X+Y. The VNC display has size WxH (i.e. smaller than
the full display). This also works for \fB-id/-sid\fR mode
where the offset is relative to the upper left corner
of the selected window.
.PP
\fB-flashcmap\fR
.IP
In 8bpp indexed color, let the installed colormap flash
@ -994,6 +1003,43 @@ Time in seconds after NO activity (e.g. screen blank)
to really throttle down the screen polls (i.e. sleep
for about 1.5 secs). Use 0 to disable. Default: 60
.PP
\fB-noxdamage\fR
.IP
Do not use the X DAMAGE extension to detect framebuffer
changes even if it is available.
.IP
x11vnc's use of the DAMAGE extension: 1) significantly
reduces the load when the screen is not changing much,
and 2) detects changed areas (small ones by default)
more quickly.
.IP
Currently the DAMAGE extension is overly conservative
and often reports large areas (e.g. a whole terminal
or browser window) as damaged even though the actual
changed region is much smaller (sometimes just a few
pixels). So heuristics were introduced to skip large
areas and use the damage rectangles only as "hints"
for the traditional scanline polling. The following
tuning parameters are introduced to adjust this
behavior:
.PP
\fB-xd_area\fR \fIA\fR
.IP
Set the largest DAMAGE rectangle area \fIA\fR (in
pixels: width * height) to trust as truly damaged:
the rectangle will be copied from the framebuffer
(slow) no matter what. Set to zero to trust *all*
rectangles. Default: 20000
.PP
\fB-xd_mem\fR \fIf\fR
.IP
Set how long DAMAGE rectangles should be "remembered",
\fIf\fR is a floating point number and is in units of the
scanline repeat cycle time (32 iterations). The default
(1.0) should give no painting problems. Increase it if
there are problems or decrease it to live on the edge
(perhaps useful on a slow machine).
.PP
\fB-sigpipe\fR \fIstring\fR
.IP
Broken pipe (SIGPIPE) handling. \fIstring\fR can be
@ -1149,6 +1195,8 @@ id:windowid set \fB-id\fR window to "windowid". empty
.IP
sid:windowid set \fB-sid\fR window to "windowid"
.IP
clip:WxH+X+Y set \fB-clip\fR mode to "WxH+X+Y"
.IP
flashcmap enable \fB-flashcmap\fR mode.
.IP
noflashcmap disable \fB-flashcmap\fR mode.
@ -1387,6 +1435,14 @@ nonap disable \fB-nap\fR mode.
.IP
sb:n set \fB-sb\fR to n s, same as screen_blank:n
.IP
xdamage enable xdamage polling hints.
.IP
noxdamage disable xdamage polling hints.
.IP
xd_area:A set \fB-xd_area\fR max pixel area to "A"
.IP
xd_mem:f set \fB-xd_mem\fR remembrance to "f"
.IP
fs:frac set \fB-fs\fR fraction to "frac", e.g. 0.5
.IP
gaps:n set \fB-gaps\fR to n.
@ -1491,7 +1547,7 @@ the returned value corresponds to (hint: the ext_*
variables correspond to the presence of X extensions):
.IP
ans= stop quit exit shutdown ping blacken zero
refresh reset close disconnect id sid waitmapped
refresh reset close disconnect id sid clip waitmapped
nowaitmapped flashcmap noflashcmap truecolor notruecolor
overlay nooverlay overlay_cursor overlay_yescursor
nooverlay_nocursor nooverlay_cursor nooverlay_yescursor
@ -1507,9 +1563,10 @@ clear_mods noclear_mods clear_keys noclear_keys
remap repeat norepeat fb nofb bell nobell sel
nosel primary noprimary cursorshape nocursorshape
cursorpos nocursorpos cursor show_cursor noshow_cursor
nocursor xfixes noxfixes alphacut alphafrac alpharemove
noalpharemove alphablend noalphablend xwarp xwarppointer
noxwarp noxwarppointer buttonmap dragging nodragging
nocursor xfixes noxfixes xdamage noxdamage xd_area
xd_mem alphacut alphafrac alpharemove noalpharemove
alphablend noalphablend xwarp xwarppointer noxwarp
noxwarppointer buttonmap dragging nodragging
pointer_mode pm input_skip input client_input speeds
debug_pointer dp nodebug_pointer nodp debug_keyboard dk
nodebug_keyboard nodk deferupdate defer wait rfbwait
@ -1520,15 +1577,16 @@ noalwaysshared nevershared noalwaysshared dontdisconnect
nodontdisconnect desktop noremote
.IP
aro= display vncdisplay desktopname http_url auth
users rootshift scale_str scaled_x scaled_y scale_numer
scale_denom scale_fac scaling_noblend scaling_nomult4
scaling_pad scaling_interpolate inetd safer unsafe
passwdfile using_shm logfile o rc norc h help V version
lastmod bg sigpipe threads clients client_count pid
ext_xtest ext_xkb ext_xshm ext_xinerama ext_overlay
ext_xfixes ext_xdamage ext_xrandr rootwin num_buttons
button_mask mouse_x mouse_y bpp depth indexed_color
dpy_x dpy_y rfbauth passwd
users rootshift clipshift scale_str scaled_x scaled_y
scale_numer scale_denom scale_fac scaling_noblend
scaling_nomult4 scaling_pad scaling_interpolate inetd
safer unsafe passwdfile using_shm logfile o rc norc
h help V version lastmod bg sigpipe threads clients
client_count pid ext_xtest ext_xkb ext_xshm ext_xinerama
ext_overlay ext_xfixes ext_xdamage ext_xrandr rootwin
num_buttons button_mask mouse_x mouse_y bpp depth
indexed_color dpy_x dpy_y wdpy_x wdpy_y off_x off_y
cdpy_x cdpy_y coff_x coff_y rfbauth passwd
.PP
\fB-sync\fR
.IP

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save