Commit d2a0e40e authored by runge's avatar runge

sync with new cursor mechanism, -timeout, -noalphablend, try :0 if no other info

parent 6fb3752b
2005-01-23 Karl Runge <runge@karlrunge.com>
* x11vnc: -timeout, -noalphablend. make -R norepeat work.
* sync with new draw cursor mechanism.
2005-01-20 Karl Runge <runge@karlrunge.com>
* libvncserver/{cursor.c,rfbserver.c}: fixed the "disappearing cursor"
problem
......
2005-01-23 Karl Runge <runge@karlrunge.com>
* sync with new draw cursor mechanism, keep old way in OLD_TREE.
* add -timeout option, change -alphablend to be default
* -R norepeat now forces the issue (Xsession may turn it back on).
* try :0 if no other info.
2005-01-15 Karl Runge <runge@karlrunge.com>
* adjust alpha blending parameters, -alphablend, handle 24bpp.
* add -snapfb snapshot fb, not clear how useful it is..
......
This diff is collapsed.
......@@ -139,7 +139,7 @@ Keyboard
Pointer
=-C:none,arrow,X,some,most cursor:
noxfixes
alphablend
noalphablend
--
cursorpos
nocursorshape
......@@ -186,11 +186,12 @@ Permissions
localhost
=RA allowonce:
--
=RA noremote
--
viewonly
shared
forever
--
=RA noremote
timeout:
--
=SA alwaysshared
=SA nevershared
......@@ -359,35 +360,39 @@ There is much overlap between the menu items available in state 1)
and state 2), but it is worth keeping in mind it is not 100%.
For example, you cannot set passwords or password files in state 1).
Also note that there may be *two* separate X displays involved, not just
one: 1) the X display x11vnc will be polling (and making available to
VNC viewers), and 2) the X display this GUI is intended to display on.
For example, one might use ssh to access the remote machine where the
GUI would display on :11 and x11vnc would poll display :0.
GUI would display on :11 and x11vnc would poll display :0. By default
the gui will display on the value in the DISPLAY env. variable followed
by the value from the -display option. To override this, use something
like: \"-gui otherhost:0\", etc.
GUI components:
--- ----------
At the top of the gui is a info text label where information will
1) At the top of the gui is a info text label where information will
be posted, e.g. when traversing menu items text indicating how to get
help on the item and its current value will be displayed.
Below the info label is the area where the menu buttons, Actions,
2) Below the info label is the area where the menu buttons, Actions,
Clients, etc., are presented. If a menu item has a checkbox,
it corresponds to a boolean on/off variable. Otherwise it is
either a string variable, or an action not associated with a
variable (for the most part).
Below the menu button area is a text label indicating the current x11vnc
3) Below the menu button area is a text label indicating the current x11vnc
X display being polled and the corresponding VNC display name. Both
will be \"(*none*)\" when there is no connection established.
Below the x11 and vnc displays text label is a text area there scrolling
4) Below the x11 and vnc displays text label is a text area there scrolling
information about actions being taken and commands being run is displayed.
To scroll use PageUp/PageDown or the arrow keys.
At the bottom is an entry area. When one selects a menu item that
5) At the bottom is an entry area. When one selects a menu item that
requires supplying a string value, the label will be set to the
parameter name and one types in the new value. Then one presses the
\"OK\" button or presses \"Enter\" to set the value. Or you can press
......@@ -396,11 +401,13 @@ are boolean toggles (for example, \"Permissions -> viewonly\") or Radio
button selections. Selecting these menu items will not activate the
entry area but rather toggle the variable directly.
Cascades: There is a bug not yet worked around for the cascade menus
Cascades Bug: There is a bug not yet worked around for the cascade menus
where the (?) help button gets in the way. To get the mouse over to
the cascade menu click and release mouse to activate the cascade, then
you can click on its items. Dragging with a mouse button held down
will not work (sorry).
you can click on its items. Dragging with a mouse button held down will
not work (sorry!).
Key Bindings:
......@@ -410,6 +417,7 @@ Key Bindings:
Anywhere: Control-p invokes \"Actions -> ping\"
Anywhere: Control-u and Control-r invoke \"Actions -> update-all\"
Misc:
Since x11vnc has so many settings and to avoid further confusion,
......@@ -547,7 +555,9 @@ proc help_win {item} {
set text "Help on $item:\n\n"
if {[is_gui_internal $item]} {
;
if {$item != "gui" && $item != "all"} {
append text " + Is a gui internal Action (cannot be set).\n";
}
} elseif {[is_action $item]} {
append text " + Is a remote control Action (cannot be set).\n";
} elseif {[active_when_connected $item]} {
......@@ -595,6 +605,10 @@ proc help_win {item} {
} else {
append text "$menu_var($item)\n"
}
if {$item == "http" || $item == "httpdir" || $item == "httpport"} {
global vnc_url;
append text "\nURL: $vnc_url\n"
}
}
if {$item == "start"} {
......@@ -1221,6 +1235,8 @@ proc update_menu_vars {{query ""}} {
set_x11_display $val
} elseif {$item == "vncdisplay"} {
set_vnc_display $val
} elseif {$item == "http_url"} {
set_vnc_url $val
}
}
}
......@@ -1353,7 +1369,7 @@ proc show_logfile {} {
}
proc tail_logfile {} {
global menu_var unset_str
global menu_var unset_str ffont
set logfile $menu_var(logfile)
set txt ""
......@@ -1363,7 +1379,7 @@ proc tail_logfile {} {
set txt "\nLogfile \"$logfile\" does not exist.\n\n"
} else {
set cmd ""
set xterm_cmd "xterm -geometry 80x45 -title x11vnc-logfile -e"
set xterm_cmd "xterm -sb -fn $ffont -geometry 80x45 -title x11vnc-logfile -e"
set cmd [split $xterm_cmd]
lappend cmd "tail"
lappend cmd "+1f"
......@@ -1526,6 +1542,11 @@ proc do_var {item} {
} else {
push_new_value $item $name $new 1
}
if {$item == "http"} {
global vnc_url
append_text " URL: $vnc_url\n"
}
}
}
......@@ -1637,12 +1658,19 @@ proc set_vnc_display {name} {
global vnc_display
set vnc_display "VNC display: $name"
}
proc set_vnc_url {name} {
global vnc_url
set vnc_url $name
}
proc no_x11_display {} {
set_x11_display "(*none*)"
}
proc no_vnc_display {} {
set_vnc_display "(*none*)"
}
proc no_vnc_url {} {
set_vnc_url "(*none*)"
}
proc fetch_displays {} {
......@@ -1651,6 +1679,7 @@ proc fetch_displays {} {
set got_x11 0
set got_vnc 0
set got_url 0
foreach item [split_query $result] {
if {[regexp {^display:(.*)$} $item m0 m1]} {
......@@ -1659,6 +1688,9 @@ proc fetch_displays {} {
} elseif {[regexp {^vncdisplay:(.*)$} $item m0 m1]} {
set_vnc_display $m1
set got_vnc 1
} elseif {[regexp {^http_url:(.*)$} $item m0 m1]} {
set_vnc_url $m1
set got_url 1
}
}
if {! $got_x11} {
......@@ -1667,6 +1699,9 @@ proc fetch_displays {} {
if {! $got_vnc} {
no_vnc_display
}
if {! $got_url} {
no_vnc_url
}
}
proc disconnect_dialog {client} {
......@@ -2130,6 +2165,10 @@ MenuSelect>>
}
} elseif {[info exists menu_var($which)]} {
set label "$label value: $menu_var($which)"
if {$which == "http"} {
global vnc_url
set label "$label URL: $vnc_url"
}
}
}
set_info $label
......
......@@ -145,7 +145,7 @@
"Pointer\n"
" =-C:none,arrow,X,some,most cursor:\n"
" noxfixes\n"
" alphablend\n"
" noalphablend\n"
" --\n"
" cursorpos\n"
" nocursorshape\n"
......@@ -192,11 +192,12 @@
" localhost\n"
" =RA allowonce:\n"
" --\n"
" =RA noremote\n"
" --\n"
" viewonly\n"
" shared\n"
" forever\n"
" --\n"
" =RA noremote\n"
" timeout:\n"
" --\n"
" =SA alwaysshared\n"
" =SA nevershared\n"
......@@ -365,35 +366,39 @@
"and state 2), but it is worth keeping in mind it is not 100%.\n"
"For example, you cannot set passwords or password files in state 1).\n"
"\n"
"\n"
"Also note that there may be *two* separate X displays involved, not just\n"
"one: 1) the X display x11vnc will be polling (and making available to\n"
"VNC viewers), and 2) the X display this GUI is intended to display on.\n"
"For example, one might use ssh to access the remote machine where the\n"
"GUI would display on :11 and x11vnc would poll display :0.\n"
"GUI would display on :11 and x11vnc would poll display :0. By default\n"
"the gui will display on the value in the DISPLAY env. variable followed\n"
"by the value from the -display option. To override this, use something\n"
"like: \\\"-gui otherhost:0\\\", etc.\n"
"\n"
"\n"
"GUI components: \n"
"--- ----------\n"
"\n"
"At the top of the gui is a info text label where information will\n"
"1) At the top of the gui is a info text label where information will\n"
"be posted, e.g. when traversing menu items text indicating how to get\n"
"help on the item and its current value will be displayed.\n"
"\n"
"Below the info label is the area where the menu buttons, Actions,\n"
"2) Below the info label is the area where the menu buttons, Actions,\n"
"Clients, etc., are presented. If a menu item has a checkbox,\n"
"it corresponds to a boolean on/off variable. Otherwise it is\n"
"either a string variable, or an action not associated with a\n"
"variable (for the most part).\n"
"\n"
"Below the menu button area is a text label indicating the current x11vnc\n"
"3) Below the menu button area is a text label indicating the current x11vnc\n"
"X display being polled and the corresponding VNC display name. Both\n"
"will be \\\"(*none*)\\\" when there is no connection established.\n"
"\n"
"Below the x11 and vnc displays text label is a text area there scrolling\n"
"4) Below the x11 and vnc displays text label is a text area there scrolling\n"
"information about actions being taken and commands being run is displayed.\n"
"To scroll use PageUp/PageDown or the arrow keys.\n"
"\n"
"At the bottom is an entry area. When one selects a menu item that\n"
"5) At the bottom is an entry area. When one selects a menu item that\n"
"requires supplying a string value, the label will be set to the\n"
"parameter name and one types in the new value. Then one presses the\n"
"\\\"OK\\\" button or presses \\\"Enter\\\" to set the value. Or you can press\n"
......@@ -402,11 +407,13 @@
"button selections. Selecting these menu items will not activate the\n"
"entry area but rather toggle the variable directly.\n"
"\n"
"Cascades: There is a bug not yet worked around for the cascade menus\n"
"\n"
"Cascades Bug: There is a bug not yet worked around for the cascade menus\n"
"where the (?) help button gets in the way. To get the mouse over to\n"
"the cascade menu click and release mouse to activate the cascade, then\n"
"you can click on its items. Dragging with a mouse button held down\n"
"will not work (sorry).\n"
"you can click on its items. Dragging with a mouse button held down will\n"
"not work (sorry!).\n"
"\n"
"\n"
"Key Bindings:\n"
"\n"
......@@ -416,6 +423,7 @@
" Anywhere: Control-p invokes \\\"Actions -> ping\\\"\n"
" Anywhere: Control-u and Control-r invoke \\\"Actions -> update-all\\\"\n"
"\n"
"\n"
"Misc:\n"
"\n"
"Since x11vnc has so many settings and to avoid further confusion,\n"
......@@ -553,7 +561,9 @@
" set text \"Help on $item:\\n\\n\"\n"
"\n"
" if {[is_gui_internal $item]} {\n"
" ;\n"
" if {$item != \"gui\" && $item != \"all\"} {\n"
" append text \" + Is a gui internal Action (cannot be set).\\n\";\n"
" }\n"
" } elseif {[is_action $item]} {\n"
" append text \" + Is a remote control Action (cannot be set).\\n\";\n"
" } elseif {[active_when_connected $item]} {\n"
......@@ -601,6 +611,10 @@
" } else {\n"
" append text \"$menu_var($item)\\n\"\n"
" }\n"
" if {$item == \"http\" || $item == \"httpdir\" || $item == \"httpport\"} {\n"
" global vnc_url;\n"
" append text \"\\nURL: $vnc_url\\n\"\n"
" }\n"
" }\n"
"\n"
" if {$item == \"start\"} {\n"
......@@ -1227,6 +1241,8 @@
" set_x11_display $val\n"
" } elseif {$item == \"vncdisplay\"} {\n"
" set_vnc_display $val\n"
" } elseif {$item == \"http_url\"} {\n"
" set_vnc_url $val\n"
" }\n"
" }\n"
" }\n"
......@@ -1359,7 +1375,7 @@
"}\n"
"\n"
"proc tail_logfile {} {\n"
" global menu_var unset_str\n"
" global menu_var unset_str ffont\n"
" set logfile $menu_var(logfile)\n"
" \n"
" set txt \"\"\n"
......@@ -1369,7 +1385,7 @@
" set txt \"\\nLogfile \\\"$logfile\\\" does not exist.\\n\\n\"\n"
" } else {\n"
" set cmd \"\"\n"
" set xterm_cmd \"xterm -geometry 80x45 -title x11vnc-logfile -e\"\n"
" set xterm_cmd \"xterm -sb -fn $ffont -geometry 80x45 -title x11vnc-logfile -e\"\n"
" set cmd [split $xterm_cmd]\n"
" lappend cmd \"tail\"\n"
" lappend cmd \"+1f\"\n"
......@@ -1532,6 +1548,11 @@
" } else {\n"
" push_new_value $item $name $new 1\n"
" }\n"
"\n"
" if {$item == \"http\"} {\n"
" global vnc_url\n"
" append_text \" URL: $vnc_url\\n\"\n"
" }\n"
" }\n"
"}\n"
"\n"
......@@ -1643,12 +1664,19 @@
" global vnc_display\n"
" set vnc_display \"VNC display: $name\"\n"
"}\n"
"proc set_vnc_url {name} {\n"
" global vnc_url\n"
" set vnc_url $name\n"
"}\n"
"proc no_x11_display {} {\n"
" set_x11_display \"(*none*)\"\n"
"}\n"
"proc no_vnc_display {} {\n"
" set_vnc_display \"(*none*)\"\n"
"}\n"
"proc no_vnc_url {} {\n"
" set_vnc_url \"(*none*)\"\n"
"}\n"
"\n"
"proc fetch_displays {} {\n"
"\n"
......@@ -1657,6 +1685,7 @@
"\n"
" set got_x11 0\n"
" set got_vnc 0\n"
" set got_url 0\n"
"\n"
" foreach item [split_query $result] {\n"
" if {[regexp {^display:(.*)$} $item m0 m1]} {\n"
......@@ -1665,6 +1694,9 @@
" } elseif {[regexp {^vncdisplay:(.*)$} $item m0 m1]} {\n"
" set_vnc_display $m1\n"
" set got_vnc 1\n"
" } elseif {[regexp {^http_url:(.*)$} $item m0 m1]} {\n"
" set_vnc_url $m1\n"
" set got_url 1\n"
" }\n"
" }\n"
" if {! $got_x11} {\n"
......@@ -1673,6 +1705,9 @@
" if {! $got_vnc} {\n"
" no_vnc_display\n"
" }\n"
" if {! $got_url} {\n"
" no_vnc_url\n"
" }\n"
"}\n"
"\n"
"proc disconnect_dialog {client} {\n"
......@@ -2136,6 +2171,10 @@
" }\n"
" } elseif {[info exists menu_var($which)]} {\n"
" set label \"$label value: $menu_var($which)\"\n"
" if {$which == \"http\"} {\n"
" global vnc_url\n"
" set label \"$label URL: $vnc_url\"\n"
" }\n"
" }\n"
" }\n"
" set_info $label\n"
......
......@@ -2,7 +2,7 @@
.TH X11VNC "1" "January 2005" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.7.1pre, lastmod: 2005-01-16
version: 0.7.1pre, lastmod: 2005-01-23
.SH SYNOPSIS
.B x11vnc
[OPTION]...
......@@ -191,6 +191,11 @@ disconnects, opposite of \fB-forever.\fR This is the Default.
Keep listening for more connections rather than exiting
as soon as the first client(s) disconnect. Same as \fB-many\fR
.PP
\fB-timeout\fR \fIn\fR
.IP
Exit unless a client connects within the first n seconds
of startup.
.PP
\fB-inetd\fR
.IP
Launched by
......@@ -574,9 +579,9 @@ default (see \fB-noxfixes\fR below). This can be disabled
with \fB-nocursor,\fR and also some values of the "mode"
option below.
.IP
Note that under XFIXES cursors with transparency
(alpha channel) will not be exactly represented and
so Overlay may be preferred. See also the \fB-alphacut\fR
Note that under XFIXES cursors with transparency (alpha
channel) will not be exactly represented and one may
find Overlay may be preferable. See also the \fB-alphacut\fR
and \fB-alphafrac\fR options below as fudge factors to try
to improve the situation for cursors with transparency
for a given theme.
......@@ -647,16 +652,16 @@ black background). Specify this option to remove the
alpha factor. (useful for light colored semi-transparent
cursors).
.PP
\fB-alphablend\fR
\fB-noalphablend\fR
.IP
In XFIXES mode send cursor alpha channel data to
libvncserver. The blending effect will only be
visible in \fB-nocursorshape\fR mode or for clients with
cursorshapeupdates turned off. (However there is a
hack for 32bpp with depth 24, it uses the extra 8 bits
to store cursor transparency for use with a hacked
vncviewer that applies the transparency locally.
See the FAQ for more info).
In XFIXES mode do not send cursor alpha channel data
to libvncserver. The default is to send it. The
alphablend effect will only be visible in \fB-nocursorshape\fR
mode or for clients with cursorshapeupdates turned
off. (However there is a hack for 32bpp with depth 24,
it uses the extra 8 bits to store cursor transparency
for use with a hacked vncviewer that applies the
transparency locally. See the FAQ for more info).
.PP
\fB-nocursorshape\fR
.IP
......@@ -1010,6 +1015,10 @@ forever enable \fB-forever\fR mode.
.IP
noforever disable \fB-forever\fR mode.
.IP
timeout:n reset \fB-timeout\fR to n, if there are
currently no clients, exit unless one
connects in the next n secs.
.IP
deny deny any new connections, same as "lock"
.IP
nodeny allow new connections, same as "unlock"
......@@ -1150,9 +1159,9 @@ alpharemove enable \fB-alpharemove\fR mode.
.IP
noalpharemove disable \fB-alpharemove\fR mode.
.IP
alphablend enable \fB-alphablend\fR mode.
alphablend disable \fB-noalphablend\fR mode.
.IP
noalphablend disable \fB-alphablend\fR mode.
noalphablend enable \fB-noalphablend\fR mode.
.IP
cursorshape disable \fB-nocursorshape\fR mode.
.IP
......@@ -1306,8 +1315,8 @@ refresh reset close disconnect id sid waitmapped
nowaitmapped flashcmap noflashcmap truecolor notruecolor
overlay nooverlay overlay_cursor overlay_yescursor
nooverlay_nocursor nooverlay_cursor nooverlay_yescursor
overlay_nocursor visual scale viewonly noviewonly
shared noshared forever noforever once deny lock nodeny
overlay_nocursor visual scale viewonly noviewonly shared
noshared forever noforever once timeout deny lock nodeny
unlock connect allowonce allow localhost nolocalhost
accept gone shm noshm flipbyteorder noflipbyteorder
onetile noonetile blackout xinerama noxinerama xrandr
......@@ -1329,16 +1338,16 @@ httpdir enablehttpproxy noenablehttpproxy alwaysshared
noalwaysshared nevershared noalwaysshared dontdisconnect
nodontdisconnect desktop noremote
.IP
aro= display vncdisplay desktopname auth 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
aro= display vncdisplay desktopname http_url auth
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
.PP
\fB-sync\fR
.IP
......
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