Commit 3a7e70de authored by runge's avatar runge

x11vnc: more improvements to -scrollcopyrect and -xkb modes.

parent 34f714bc
2005-05-14 Karl Runge <runge@karlrunge.com>
* x11vnc: more work on -scrollcopyrect and -xkb modes.
2005-05-07 Johannes E. Schindelin <Johannes.Schindelin@gmx.de> 2005-05-07 Johannes E. Schindelin <Johannes.Schindelin@gmx.de>
* libvncserver/rfbserver.c: fix memory leak pointed out by Tim Jansen * libvncserver/rfbserver.c: fix memory leak pointed out by Tim Jansen
* libvncserver/{httpd,main,rfbserver,sockets}.c, rfb/rfb.h: * libvncserver/{httpd,main,rfbserver,sockets}.c, rfb/rfb.h:
......
2005-05-14 Karl Runge <runge@karlrunge.com>
* much more work on "-scrollcopyrect" mode... getting usable.
* remove -pointer_mode 3, shift everyone back down
* -dbg "crash shell" for debugging
* -add_keysyms now the default, periodically clears if needed.
* try to autodetect if -xkb would be a good idea.
* improve keycode guessing for -xkb mode (force ISO_Level3_Shift)
* -remap DEAD, etc. for dead/mute keys remappings.
2005-05-02 Karl Runge <runge@karlrunge.com> 2005-05-02 Karl Runge <runge@karlrunge.com>
* initial support for using RECORD to detect some types of window * initial support for using RECORD to detect some types of window
scrolls. This is "-scrollcopyrect" mode, use -noscrollcopyrect scrolls. This is "-scrollcopyrect" mode, use -noscrollcopyrect
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -132,6 +132,7 @@ Keyboard ...@@ -132,6 +132,7 @@ Keyboard
=D norepeat =D norepeat
=D add_keysyms =D add_keysyms
skip_keycodes: skip_keycodes:
skip_dups
modtweak modtweak
xkb xkb
-- --
...@@ -180,6 +181,15 @@ Misc ...@@ -180,6 +181,15 @@ Misc
-- --
=RA remote-cmd: =RA remote-cmd:
=GA all-settings =GA all-settings
--
=GAL Misc-Tuning::
fs:
gaps:
grow:
fuzz:
readtimeout:
snapfb
threads
Debugging Debugging
debug_pointer debug_pointer
...@@ -191,8 +201,10 @@ Debugging ...@@ -191,8 +201,10 @@ Debugging
-- --
debug_xevents debug_xevents
debug_xdamage debug_xdamage
debug_wireframe =-C:0,1,2,3 debug_wireframe:
debug_scroll debug_scroll
debug_tiles
dbg
-- --
=GA show-start-cmd =GA show-start-cmd
=DG debug_gui =DG debug_gui
...@@ -234,15 +246,24 @@ Tuning ...@@ -234,15 +246,24 @@ Tuning
input_skip: input_skip:
=D nodragging =D nodragging
-- --
noshm
flipbyteorder
onetile
--
xdamage
xd_area:
xd_mem:
--
wireframe wireframe
wireframe_mode: wireframe_mode:
=-C:never,top,always wirecopyrect: =-C:never,top,always wirecopyrect:
--
=-C:never,keys,mouse,always scrollcopyrect: =-C:never,keys,mouse,always scrollcopyrect:
scr_area: scr_area:
-- scr_skip:
noshm scr_inc:
flipbyteorder scr_keys:
onetile scr_parms:
-- D -- D
speeds: speeds:
=D wait: =D wait:
...@@ -250,18 +271,6 @@ Tuning ...@@ -250,18 +271,6 @@ Tuning
=D nap =D nap
screen_blank: screen_blank:
-- --
fs:
gaps:
grow:
fuzz:
snapfb
--
xdamage
xd_area:
xd_mem:
--
threads
--
progressive: progressive:
" "
} }
...@@ -395,6 +404,11 @@ and one for power users. ...@@ -395,6 +404,11 @@ and one for power users.
set helptext(all) $helpall set helptext(all) $helpall
set helptext(Misc-Tuning:) "
These contain some miscellaneous tuning parameters that are not
often used. Placed here to avoid overcrowding in the Tuning menu.
"
set helptext(gui) " set helptext(gui) "
tkx11vnc is a simple frontend to x11vnc. Nothing fancy, it merely tkx11vnc is a simple frontend to x11vnc. Nothing fancy, it merely
provides an interface to each of the many x11vnc command line options and provides an interface to each of the many x11vnc command line options and
...@@ -701,7 +715,7 @@ proc help_win {item} { ...@@ -701,7 +715,7 @@ proc help_win {item} {
set text "Help on $item:\n\n" set text "Help on $item:\n\n"
if {[is_gui_internal $item]} { if {[is_gui_internal $item]} {
if {$item != "gui" && $item != "all"} { if {$item != "gui" && $item != "all" && $item != "Misc-Tuning:"} {
append text " + Is a gui internal Action (cannot be set).\n"; append text " + Is a gui internal Action (cannot be set).\n";
} }
} elseif {[is_action $item]} { } elseif {[is_action $item]} {
...@@ -1157,6 +1171,9 @@ proc push_new_value {item name new {query 1}} { ...@@ -1157,6 +1171,9 @@ proc push_new_value {item name new {query 1}} {
if {$do_query_all} { if {$do_query_all} {
set all [all_query_vars] set all [all_query_vars]
set qargs [list "-Q" $all] set qargs [list "-Q" $all]
global last_query_all_time
set last_query_all_time [clock seconds]
} }
set rqargs [concat $rargs $qargs] set rqargs [concat $rargs $qargs]
...@@ -1646,6 +1663,7 @@ proc all_query_vars {} { ...@@ -1646,6 +1663,7 @@ proc all_query_vars {} {
proc query_all {{quiet 0}} { proc query_all {{quiet 0}} {
global query_ans_list query_aro_list all_settings global query_ans_list query_aro_list all_settings
global last_query_all_time
set qry [all_query_vars] set qry [all_query_vars]
...@@ -1663,6 +1681,7 @@ proc query_all {{quiet 0}} { ...@@ -1663,6 +1681,7 @@ proc query_all {{quiet 0}} {
append_text "Failed to retrieve settings.\n" append_text "Failed to retrieve settings.\n"
} }
} }
set last_query_all_time [clock seconds]
return $all return $all
} }
...@@ -1816,6 +1835,9 @@ proc do_action {item} { ...@@ -1816,6 +1835,9 @@ proc do_action {item} {
} elseif {$item == "tail-logfile"} { } elseif {$item == "tail-logfile"} {
tail_logfile tail_logfile
return return
} elseif {$item == "Misc-Tuning:"} {
menu_help "$item"
return
} elseif {$item == "stop+quit"} { } elseif {$item == "stop+quit"} {
push_new_value "stop" "stop" 1 0 push_new_value "stop" "stop" 1 0
set_connected no set_connected no
...@@ -2481,6 +2503,29 @@ proc make_menu_items {} { ...@@ -2481,6 +2503,29 @@ proc make_menu_items {} {
} }
} }
proc menu_posted {} {
global last_query_all_time query_all_freq
global connected_to_x11vnc
set now [clock seconds]
if {$connected_to_x11vnc} {
set quiet 0
set refresh [expr "$last_query_all_time + $query_all_freq"]
# puts "menu_posted $now $last_query_all_time"
# puts "menu_posted $refresh"
if {$now > $refresh} {
append_text "Refreshing settings... "
query_all $quiet
if {$quiet} {
append_text "done\n"
}
}
}
}
proc make_widgets {} { proc make_widgets {} {
global template global template
global menu_b menu_m menu_count global menu_b menu_m menu_count
...@@ -2557,7 +2602,7 @@ proc make_widgets {} { ...@@ -2557,7 +2602,7 @@ proc make_widgets {} {
-anchor w -menu $menu -background $fbg \ -anchor w -menu $menu -background $fbg \
-font $bfont -font $bfont
pack $menub -side top -fill x pack $menub -side top -fill x
menu $menu -tearoff 0 menu $menu -tearoff 0 -postcommand menu_posted
} }
} }
pack $f -side top -fill x pack $f -side top -fill x
...@@ -3032,6 +3077,7 @@ global bfont ffont old_labels ...@@ -3032,6 +3077,7 @@ global bfont ffont old_labels
global connected_to_x11vnc global connected_to_x11vnc
global delay_sleep extra_sleep extra_sleep_split global delay_sleep extra_sleep extra_sleep_split
global cache_all_query_vars global cache_all_query_vars
global last_query_all_time query_all_freq
set unset_str "(unset)" set unset_str "(unset)"
set connected_to_x11vnc 0 set connected_to_x11vnc 0
...@@ -3045,6 +3091,8 @@ set reply_xdisplay "" ...@@ -3045,6 +3091,8 @@ set reply_xdisplay ""
set all_settings "None so far." set all_settings "None so far."
set always_update 1 set always_update 1
set cache_all_query_vars "" set cache_all_query_vars ""
set query_all_freq 120
set last_query_all_time [clock seconds]
# these are no longer used under x11vnc -sync: # these are no longer used under x11vnc -sync:
set delay_sleep 350 set delay_sleep 350
......
...@@ -138,6 +138,7 @@ ...@@ -138,6 +138,7 @@
" =D norepeat\n" " =D norepeat\n"
" =D add_keysyms\n" " =D add_keysyms\n"
" skip_keycodes:\n" " skip_keycodes:\n"
" skip_dups\n"
" modtweak\n" " modtweak\n"
" xkb\n" " xkb\n"
" --\n" " --\n"
...@@ -186,6 +187,15 @@ ...@@ -186,6 +187,15 @@
" --\n" " --\n"
" =RA remote-cmd:\n" " =RA remote-cmd:\n"
" =GA all-settings\n" " =GA all-settings\n"
" --\n"
" =GAL Misc-Tuning::\n"
" fs:\n"
" gaps:\n"
" grow:\n"
" fuzz:\n"
" readtimeout:\n"
" snapfb\n"
" threads\n"
"\n" "\n"
"Debugging\n" "Debugging\n"
" debug_pointer\n" " debug_pointer\n"
...@@ -197,8 +207,10 @@ ...@@ -197,8 +207,10 @@
" --\n" " --\n"
" debug_xevents\n" " debug_xevents\n"
" debug_xdamage\n" " debug_xdamage\n"
" debug_wireframe\n" " =-C:0,1,2,3 debug_wireframe:\n"
" debug_scroll\n" " debug_scroll\n"
" debug_tiles\n"
" dbg\n"
" --\n" " --\n"
" =GA show-start-cmd\n" " =GA show-start-cmd\n"
" =DG debug_gui\n" " =DG debug_gui\n"
...@@ -240,15 +252,24 @@ ...@@ -240,15 +252,24 @@
" input_skip:\n" " input_skip:\n"
" =D nodragging\n" " =D nodragging\n"
" --\n" " --\n"
" noshm\n"
" flipbyteorder\n"
" onetile\n"
" --\n"
" xdamage\n"
" xd_area:\n"
" xd_mem:\n"
" --\n"
" wireframe\n" " wireframe\n"
" wireframe_mode:\n" " wireframe_mode:\n"
" =-C:never,top,always wirecopyrect:\n" " =-C:never,top,always wirecopyrect:\n"
" --\n"
" =-C:never,keys,mouse,always scrollcopyrect:\n" " =-C:never,keys,mouse,always scrollcopyrect:\n"
" scr_area:\n" " scr_area:\n"
" --\n" " scr_skip:\n"
" noshm\n" " scr_inc:\n"
" flipbyteorder\n" " scr_keys:\n"
" onetile\n" " scr_parms:\n"
" -- D\n" " -- D\n"
" speeds:\n" " speeds:\n"
" =D wait:\n" " =D wait:\n"
...@@ -256,18 +277,6 @@ ...@@ -256,18 +277,6 @@
" =D nap\n" " =D nap\n"
" screen_blank:\n" " screen_blank:\n"
" --\n" " --\n"
" fs:\n"
" gaps:\n"
" grow:\n"
" fuzz:\n"
" snapfb\n"
" --\n"
" xdamage\n"
" xd_area:\n"
" xd_mem:\n"
" --\n"
" threads\n"
" --\n"
" progressive:\n" " progressive:\n"
"\"\n" "\"\n"
"}\n" "}\n"
...@@ -401,6 +410,11 @@ ...@@ -401,6 +410,11 @@
"\n" "\n"
" set helptext(all) $helpall\n" " set helptext(all) $helpall\n"
"\n" "\n"
" set helptext(Misc-Tuning:) \"\n"
"These contain some miscellaneous tuning parameters that are not\n"
"often used. Placed here to avoid overcrowding in the Tuning menu.\n"
"\"\n"
"\n"
" set helptext(gui) \"\n" " set helptext(gui) \"\n"
"tkx11vnc is a simple frontend to x11vnc. Nothing fancy, it merely\n" "tkx11vnc is a simple frontend to x11vnc. Nothing fancy, it merely\n"
"provides an interface to each of the many x11vnc command line options and\n" "provides an interface to each of the many x11vnc command line options and\n"
...@@ -707,7 +721,7 @@ ...@@ -707,7 +721,7 @@
" set text \"Help on $item:\\n\\n\"\n" " set text \"Help on $item:\\n\\n\"\n"
"\n" "\n"
" if {[is_gui_internal $item]} {\n" " if {[is_gui_internal $item]} {\n"
" if {$item != \"gui\" && $item != \"all\"} {\n" " if {$item != \"gui\" && $item != \"all\" && $item != \"Misc-Tuning:\"} {\n"
" append text \" + Is a gui internal Action (cannot be set).\\n\";\n" " append text \" + Is a gui internal Action (cannot be set).\\n\";\n"
" }\n" " }\n"
" } elseif {[is_action $item]} {\n" " } elseif {[is_action $item]} {\n"
...@@ -1163,6 +1177,9 @@ ...@@ -1163,6 +1177,9 @@
" if {$do_query_all} {\n" " if {$do_query_all} {\n"
" set all [all_query_vars]\n" " set all [all_query_vars]\n"
" set qargs [list \"-Q\" $all]\n" " set qargs [list \"-Q\" $all]\n"
"\n"
" global last_query_all_time\n"
" set last_query_all_time [clock seconds]\n"
" }\n" " }\n"
"\n" "\n"
" set rqargs [concat $rargs $qargs]\n" " set rqargs [concat $rargs $qargs]\n"
...@@ -1652,6 +1669,7 @@ ...@@ -1652,6 +1669,7 @@
"\n" "\n"
"proc query_all {{quiet 0}} {\n" "proc query_all {{quiet 0}} {\n"
" global query_ans_list query_aro_list all_settings\n" " global query_ans_list query_aro_list all_settings\n"
" global last_query_all_time\n"
"\n" "\n"
" set qry [all_query_vars]\n" " set qry [all_query_vars]\n"
"\n" "\n"
...@@ -1669,6 +1687,7 @@ ...@@ -1669,6 +1687,7 @@
" append_text \"Failed to retrieve settings.\\n\"\n" " append_text \"Failed to retrieve settings.\\n\"\n"
" }\n" " }\n"
" }\n" " }\n"
" set last_query_all_time [clock seconds]\n"
" return $all\n" " return $all\n"
"}\n" "}\n"
"\n" "\n"
...@@ -1822,6 +1841,9 @@ ...@@ -1822,6 +1841,9 @@
" } elseif {$item == \"tail-logfile\"} {\n" " } elseif {$item == \"tail-logfile\"} {\n"
" tail_logfile\n" " tail_logfile\n"
" return\n" " return\n"
" } elseif {$item == \"Misc-Tuning:\"} {\n"
" menu_help \"$item\"\n"
" return\n"
" } elseif {$item == \"stop+quit\"} {\n" " } elseif {$item == \"stop+quit\"} {\n"
" push_new_value \"stop\" \"stop\" 1 0\n" " push_new_value \"stop\" \"stop\" 1 0\n"
" set_connected no\n" " set_connected no\n"
...@@ -2487,6 +2509,29 @@ ...@@ -2487,6 +2509,29 @@
" }\n" " }\n"
"}\n" "}\n"
"\n" "\n"
"proc menu_posted {} {\n"
" global last_query_all_time query_all_freq\n"
" global connected_to_x11vnc\n"
" set now [clock seconds]\n"
"\n"
"\n"
" if {$connected_to_x11vnc} {\n"
" set quiet 0\n"
" set refresh [expr \"$last_query_all_time + $query_all_freq\"]\n"
"\n"
" # puts \"menu_posted $now $last_query_all_time\"\n"
" # puts \"menu_posted $refresh\"\n"
"\n"
" if {$now > $refresh} {\n"
" append_text \"Refreshing settings... \"\n"
" query_all $quiet\n"
" if {$quiet} {\n"
" append_text \"done\\n\"\n"
" }\n"
" }\n"
" }\n"
"}\n"
"\n"
"proc make_widgets {} {\n" "proc make_widgets {} {\n"
" global template \n" " global template \n"
" global menu_b menu_m menu_count\n" " global menu_b menu_m menu_count\n"
...@@ -2563,7 +2608,7 @@ ...@@ -2563,7 +2608,7 @@
" -anchor w -menu $menu -background $fbg \\\n" " -anchor w -menu $menu -background $fbg \\\n"
" -font $bfont\n" " -font $bfont\n"
" pack $menub -side top -fill x\n" " pack $menub -side top -fill x\n"
" menu $menu -tearoff 0\n" " menu $menu -tearoff 0 -postcommand menu_posted\n"
" }\n" " }\n"
" }\n" " }\n"
" pack $f -side top -fill x\n" " pack $f -side top -fill x\n"
...@@ -3038,6 +3083,7 @@ ...@@ -3038,6 +3083,7 @@
"global connected_to_x11vnc\n" "global connected_to_x11vnc\n"
"global delay_sleep extra_sleep extra_sleep_split\n" "global delay_sleep extra_sleep extra_sleep_split\n"
"global cache_all_query_vars\n" "global cache_all_query_vars\n"
"global last_query_all_time query_all_freq\n"
"\n" "\n"
"set unset_str \"(unset)\"\n" "set unset_str \"(unset)\"\n"
"set connected_to_x11vnc 0\n" "set connected_to_x11vnc 0\n"
...@@ -3051,6 +3097,8 @@ ...@@ -3051,6 +3097,8 @@
"set all_settings \"None so far.\"\n" "set all_settings \"None so far.\"\n"
"set always_update 1\n" "set always_update 1\n"
"set cache_all_query_vars \"\"\n" "set cache_all_query_vars \"\"\n"
"set query_all_freq 120\n"
"set last_query_all_time [clock seconds]\n"
"\n" "\n"
"# these are no longer used under x11vnc -sync:\n" "# these are no longer used under x11vnc -sync:\n"
"set delay_sleep 350\n" "set delay_sleep 350\n"
......
This diff is collapsed.
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