2006-02-06 Karl Runge * x11vnc: fix AIX build wrt h_errno. 2006-02-06 Karl Runge * x11vnc: -8to24 more speedups; tunables for very slow machines. 2006-02-04 Karl Runge * x11vnc: -8to24 speedups and improvements. 2006-01-21 Karl Runge * x11vnc: -8to24 opts, use XGetSubImage. fix -threads deadlocks and -rawfb crash. 2006-01-18 Karl Runge * x11vnc: -8to24 now works on default depth 8 screens. 2006-01-16 Karl Runge * x11vnc: more tweaks to -8to24, add XGETIMAGE_8TO24 mode to call XGetImage() on the 8bpp regions. 2006-01-14 Karl Runge * x11vnc: add -8to24 option for some multi-depth displays (but use of -overlay is preferred if supported). 2006-01-12 Karl Runge * fix -DSMALL_FOOTPRINT=N builds. 2006-01-11 Karl Runge * x11vnc: close fd > 2 in run_user_command(), -nocmds in crash_debug, fix 64bit bug for -solid. 2006-01-08 Karl Runge * x11vnc: the big split. opts: -afteraccept and -passwdfile read: 2005-12-24 Karl Runge * x11vnc: enhance -passwdfile features, filetransfer on by default, call rfbRegisterTightVNCFileTransferExtension() earlier. 2005-11-28 Karl Runge * x11vnc: add -loop option. 2005-11-25 Karl Runge * x11vnc: throttle load if fb update requests not taking place. * misc/x11vnc_pw: add utility script 2005-10-22 Karl Runge * add tightVNC FileTransfer (-filexfer) and -DFILEXFER=1 * -slow_fb for special purpose infrequent polling. * make -blackout work with copyrect clipping. * -blackout noptr,WxH+X+Y,... to prevent pointer from going into a blacked out region. 2005-07-17 Karl Runge * more improvements to gui UE. gui requests via client_sock PASSWD_REQUIRED and PASSWD_UNLESS_NOPW build options. 2005-07-12 Karl Runge * gui: remove nevershared etc., parse cmd line, bug fixes. * x11vnc: fix pointer queue buildup under -viewonly. 2005-07-10 Karl Runge * more improvements to gui, default values, save-settings.. * x11vnc scary password warnings. Release settings. -QD option. add \# to rc files and fix rcfile read bug. 2005-07-09 Karl Runge * add -grab_buster helper thread to break up grabs (might not be need any longer due to gett XFlush-ing). Fix scrolls and copyrect for -clip and -id cases. 2005-07-06 Karl Runge * many improvements to the gui. now embeds into system tray ok. x11vnc -debug_grabs, -printgui, -nosync 2005-07-01 Karl Runge * support for simple "-gui tray" mode (small icon like the original x0rfbserver had). Can't figure how to get a tray to swallow it.. * passwd, viewpasswd changing in tray mode. * allow typos like: x11vnc -R -scale 3/4 2005-06-26 Karl Runge * track keycode state for heuristics, -sloppy_keys, -wmdt * add -nodbg as option 2005-06-21 Karl Runge * reinstate "bad desktop" for wireframe. * extra long info and tips of XOpenDisplay fails. 2005-06-18 Karl Runge * clean up some malloc/free problems (don't free the current cursor) * set DISPLAY before calling gconf, dcop under -solid * -inetd -q and no -o logfile implies closing stderr. 2005-06-14 Karl Runge * -DNOGUI and -DVIEWONLY build options * -noskip_dups the default (windows viewer sends no ups when repeating) * HAVE_SOLARIS_XREADSCREEN and HAVE_IRIX_XREADDISPLAY * Alt+Button+Motion to wireframe. tunable in WIREFRAME_PARMS * copyrect now the default under -scale (works OK, but must send a cleanup update) * fix -pedantic and Sun cc warnings and errors (unsigned, etc..) * print out fatal error messages under -quiet * -seldir to control and debug selection transfers. * fix crashes on 64bit wrt unsigned long in rich cursors. * fix kde guessing errors * more scrolling and wireframe tweaks. 2005-06-03 Karl Runge * 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 * alter "magic cleanup key sequences" (N*Alt_L and N*Super_L) * dial down check_xrecord_reset() reset times. 2005-05-24 Karl Runge * more -scrollcopyrect: GrabServer detection, autorepeat throttling, hack to clean screen 3,4,5 Alt_L in a row, mouse wheel detect. * fix bug wrt switching to single_copytile, add Darwin to shm limit. 2005-05-17 Karl Runge * more -scrollcopyrect, -scr_term hacks for terminals. * -wait_ui, -nowait_bog tunables. push cursor sooner. 2005-05-14 Karl Runge * 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 * initial support for using RECORD to detect some types of window scrolls. This is "-scrollcopyrect" mode, use -noscrollcopyrect to disable. Much tuning and painting error repair still required. * more build time customizations: REMOTE_DEFAULT, REMOTE_CONTROL, EXTERNAL_COMMANDS, NOREPEAT, WIREFRAME*, SCROLL*, ... * added bandwidth and latency measurements. * added XListHosts to -privremote check. * debug_* remote-control variables. * removed OLD_TREE stuff. 2005-04-19 Karl Runge * somewhat safer remote-control defaults, and addnl options for more safe operation: -privremote, -safer, -nocmds, -unsafe * -wireframe, -wirecopyrect: instead of having user look at a slowly moving, lurching window, guess when a window is being moved/resized and just show a wireframe. -wirecopyrect means to apply rfbDoCopyRegion to the detected move as well. * debugging switches for X events and X damage: debug_xevents debug_xdamage. * -rawfb bugfixes. -noviewonly hack to still send UI to X. 2005-04-11 Karl Runge * fix -clip under -rawfb, fix offset bug under file lseeking. * add -rawfb setup:cmd mode to initialize fb. example: misc/ranfb.pl 2005-04-10 Karl Runge * -rawfb non X-polling (i.e. shm, mmap, lseek). * -pipeinput enable external user input processing command. * -xtrap use XESimulateXEventRequest to inject user input. * scaling blend for StaticGray, add :fb scaling option. * default password macros. * improve -norepeat use under -viewonly. * -flag flagfile to aid wrapper scripts. * add utility scripts, etc. dir ./misc 2005-04-03 Karl Runge * try DEC-XTRAP on X11R5 if XTestGrabControl is missing. * -shiftcmap n, for 8bpp displays using < 256 color cells and with pixel values shifted from zero. * fix DAMAGE event leak after viewers disconnect. * -http option to try to guess where the java viewer is. 2005-03-29 Karl Runge * build-time customizations X11VNC_SHARED, X11VNC_FOREVER, REMOTE_CONTROL, SMALL_FOOTPRINT for CPPFLAGS * fix event leaks for xkb BellNotify and ClientMessage and others, esp. under -nofb. make nofb work with remote control. * -nolookup for bad DNS setups. * more playing with pointer_mode: check_user_input3() 2005-03-19 Karl Runge * scale cursors along with display. Use -scale_cursor to change or disable cursor scaling. * speed up scaling in some cases, :nb and integer magnification. * provide alternative arrow cursors (1-6) via -arrow n. * reset no autorepeat a couple times if something turns it off, set with -norepeat N. * do not take a nap if DAMAGE seems to be doing its job. 2005-03-12 Karl Runge * 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 * add changes to couple with -listen option, in particular the behavior of -localhost and remote control cmds. * workarounds for old trees. 2005-02-23 Karl Runge * final changes for 0.7.1 release. 2005-02-21 Karl Runge * -nap is now the default, disable with -nonap * set version to 0.7.1, word tune -help, etc. 2005-02-14 Karl Runge * cleanup -users stuff, add "lurk=" mode * support cde in -solid * simple gui mode for beginners, -gui ez,... 2005-02-10 Karl Runge * Add -input to fine tune client input (keystroke, mouse motion, and button presses). Allow per-client setting via remote cntl. * fix bug in get_remote_port, add ip2host for client info. 2005-02-09 Karl Runge * Add -users switch user mechanism and related utilities. * fix -solid for gnome and kde. * exit earlier on trapped XIO errors. 2005-02-05 Karl Runge * -solid solid color background when clients are connected. * -opts/-? to show option names only. 2005-01-23 Karl Runge * 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 * adjust alpha blending parameters, -alphablend, handle 24bpp. * add -snapfb snapshot fb, not clear how useful it is.. * more functions etc for -pointer_mode 4, still not finished. * scan_for_updates() "count only" mode. * increase max shm size on Linux. * -oa -logappend, -pm, -speeds * fix bugs in -allow, -R connect, screen == NULL 2004-12-27 Karl Runge * allow -DLIBVNCSERVER_HAVE_FOO=0 override everything * get_xfixes_cursor() try to more carefully convert alpha channel to opaque pixel. Options -alphacut, -alphafrac, -alpharemove * more commands under remote control: rfbwait, rfbport, http, httpport, httpdir, enablehttpproxy, desktop, alwaysshared, dontdisconnect. Add to tkx11vnc. 2004-12-22 Karl Runge * final polishing for 0.7 release, tkx11vnc tweaks * more careful rfbPE in pick_window, start check_user_input4() 2004-12-19 Karl Runge * cleanup putenv, snprint, other string manip. * add -sync mode to remote control for better control * allow -remote and -query at same time. 2004-12-16 Karl Runge * support for XFIXES extension to show the exact cursor shape, working on Linux/Xorg and Solaris 10. disable with -noxfixes * remote control mania - nearly everything can be changed dynamically! see the -remote/-query (aka -R/-Q) options. e.g. -R scale:5/6 * simple gui tkx11vnc based on the remote control mechanism, see -gui * support for XRANDR extension, if the X screen changes size (see xrandr(1)), x11vnc will resize the fb. Pays to have NewFBSize viewer * -overlay support on IRIX with XReadDisplay (not tested). * RFB_MODE is set to "accept" or "gone" in environment * "-id pick" will let you pick the window (calls xwininfo(1)...) * "-pointer_mode n" replaces -old_pointer (n=1) and -old_pointer2 (n=2) a new mode n=3 is added (similary to nodragging, but dynamic). * "-sb n" screen blank timeout option is now documented. * renamed NON_CVS to OLD_TREE 2004-08-31 Karl Runge * new check_user_input() pointer input algorithm, it tries to avoid extra-draws. still needs tuning, get previous one with -old_pointer2 * add NON_CVS macro for building in older CVS trees. 2004-08-29 Karl Runge * remove old mouse patch code, now use rfbSetCursor (+ workarounds) * changed cursor shape options (no more -mouse, ...) to '-cursor mode' where 'mode' can be empty "X", "some", or "most". "some" adds heuristics for two more cursors. * -nocursorshape added. * ifdef checks for XSHM and XTEST. Add *_wr wrappers as well. * -vncconnect is now the default. 2004-08-15 Karl Runge * -overlay option to fix color problems on Sun machines with 8+24 and 24+8 overlay visuals, uses Solaris XReadScreen(). * expose -sid option (shifted -id windowid) to allow explicit wrapping of XGetImage, etc for -overlay * fix misc bugs: missing var types, hardwired blackouts sizes, subwin desktop name crash. 2004-08-03 Karl Runge * add man page x11vnc.1 autogenerated from x11vnc -help; tweak help output a little bit. Adjust autoconf to pick up manpage. * add README from website docs. * zero watch_bell and use_xkb_modtweak if no XKEYBOARD 2004-07-31 Karl Runge * -cursorpos now the default; make cursorpos work when scaling * fix bug with multiple adds of the same keysym for -add_keysyms * rewhack -help output again * adjust version number and output. 2004-07-28 Karl Runge * -add_keysyms dynamically add missing keysyms to X server 2004-07-26 Karl Runge * first pass at doing modtweak via XKEYBOARD extension (-xkb) * -skip_keycodes option for use with -xkb * reset modtweak and xkb_modtweak on event MappingNotify. * trap Xerror during XSendEvent/XChangeProperty. * fix bug requesting PRIMARY way too often. * more careful to check if XKeysymToString returns NULL. * continuation lines "\" in x11vncrc. * undoc'd expts: -isolevel3, -xkbcompat 2004-07-19 Karl Runge * ignore keysyms 5-8 for keycode keymapping. * help to stdout for easy paging, add lastmod to help and -version. 2004-07-15 Karl Runge * make "modtweak" the default, disable with -nomodtweak. this corrects ghost "< >" key on pc104 us in XFree86. * fix bug wrt no got_keyboard_input under modtweak 2004-07-10 Karl Runge * -norepeat to turn off X server autorepeat when clients exist, (this is workaround for the repeating keystroke bug. Note that client side does autorepeating so not a big loss). 2004-07-04 Karl Runge * extend -allow to re-read a file with allowed IP addresses. * improvements to -help text. 2004-07-01 Karl Runge * improve scaled grid calculation to prevent drift (which causes drift in pixel weights and poorer tightvnc compression) * add ":pad" scale option, detect small fraction scale = m/n. 2004-06-28 Karl Runge * round scaled width to multiple of 4 to make vncviewer happy. * allow override of above ":n4" and allow 4 point interpolation to be used even with shrinking ":in". 2004-06-27 Karl Runge * speed up scaling a bit for slow machines (still all floating point) * add no blending option (-scale fraction:nb) 2004-06-26 Karl Runge * add -scale fract for global (not per-client) server-side scaling working more or less OK, needs to be optimized at some point. * remove -hints/-nohints options. 2004-06-17 Karl Runge * simple ~/.x11vncrc config file support, -rc, -norc 2004-06-12 Karl Runge * add -clear_mods -clear_keys for (rare) case where keys are not being released (e.g. Ctrl-C x11vnc thru x11vnc). * export RFB_SERVER_IP and RFB_SERVER_PORT to -accept program so that the tcp 4-tuple is completely specified. * add -storepasswd so storepasswd program not needed 2004-06-05 Karl Runge * rearrange file for easier maintenance, indicating file breakup. * add RFB_CLIENT_COUNT, number of other connected clients to -accept and -gone commands. 2004-05-27 Karl Runge * add view-only passwd via -viewpasswd and 2nd line of -passwdfile 2004-05-21 Karl Runge * -accept: add view-only decision and other improvements. * add -gone command option for when a client leaves. Thanks to Jesus Alvarez for these ideas. * -passwdfile to keep passwd off of cmd line. * -o logfile send stderr to a logfile. 2004-05-14 Karl Runge * improvements to -accept popup: yes/no buttons and timeout. * less fprintf under -q so '-q -inetd' has no stderr output. 2004-05-08 Karl Runge * add -accept some-command/xmessage/popup to prompt local X11 user or otherwise decide to accept an incoming client. * clean up -Wall warnings. 2004-05-05 Karl Runge * enable mouse button -> keystrokes mapping in -buttonmap (mousewheel) * enable keystroke -> mouse button mapping in -remap (touchpad paste) (-remap incompat ':' -> '-', sorry...) * shm OS blacklist (i.e. <= SunOS 5.8) -> -onetile * revert to check_user_input() under -nofb * cleanup: lastmod, remove tile_shm and update_client_pointer, debug output, rfbPort failure. * user friendly last line: 'The VNC desktop is hostname:0' 2004-04-28 Karl Runge * -auth cmdline option for xauthority. * decrease default deferupdate under -nofb. * update_client_pointer() from Edoardo Tirtarahardja. * remove some assumptions about libvncserver defaults. 2004-04-19 Karl Runge * support for cursor positions updates -cursorpos * option for SIGPIPE handling -sigpipe 2004-04-13 Karl Runge * solve problem with sending selection when client initializing (not yet in RFB_NORMAL state). Increase delay to 15s as well. * when threaded: limit rfbMaxClientWait to >= 20 secs and increase it to a huge value unless -rfbwait is supplied. 2004-04-08 Karl Runge * added support for blacking out regions of the screen, primarily for Xinerama usage, options: -blackout -xinerama * Xinerama workaround mouse problem on 'embedded' system, option -xwarppointer (XWarpPointer instead of XTEST) * let -remap option take key remappings on cmdline as well as file. * use cargs fix to test for invalid cmdline options. Add --option. * remove copy_tile, use copy_tiles(..., 1) instead. 2004-03-10 Karl Runge * added reverse connection for vncconnect(1) and other means -vncconnect, -connect host:port, and -connect watchfile * added first pass at user keysym remapping feature via -remap file. Ignores modifier state, need to generalize. * debugging options for users -debug_pointer and -debug_keyboard * clear -passwd from argv for privacy (if OS allows). 2004-02-19 Karl Runge * added handling of clipboard/selection exchange to/from clients, even holds PRIMARY which Xvnc does not do. disable with -nosel. use -noprimary to disable polling of PRIMARY selection. * added -visual option to force framebuffer visual. not really of general use, more for testing and workarounds (e.g. win2vnc fails under 8bpp index color) * improve cleanup and error handling WRT shm and other failures. 2004-01-19 Karl Runge * improvements to pointer event handling primarily during window dragging. check_user_input() for non-threaded and pointer() for threaded. Revert to old way via -old_pointer option. * some memory I/O improvement by using copy_tiles() instead of copy_tile(). New one does rows of tiles at same time. Revert to old way via -old_copytile. * handle case of more mouse buttons on client than on X server. * added -buttonmap option for finer control over button differences. 2004-01-09 Karl Runge * options -allow / -localhost for simple IP based access screening * option -nodragging to skip all screen updates during mouse drags (thanks to Michal Sabala) * option -input_skip to allow users to tune watch_loop dropthru rate * try to avoid wasting RAM for framebuffer under -nofb * cleanup wrt bpp vs. depth 2003-12-08 Karl Runge * add Xbell support using XKEYBOARD extension (disable: -nobell) * add "-nofb" to disable framebuffer, i.e. mouse + keyboard only (!) * add "-notruecolor" to force indexed 8bpp color (when 8bpp) * make alias "-forever" for "-many" From Karl (x11vnc's father) on Apr 2, 2003: New option -nocursor to not display the vncviewer local cursor if user does not want it (also caused some problems with older vncviewers) New option -mouse to show the position of the X server mouse (i.e. lagged from the user's vnc cursor position). Also: -mouseX will try to show the a different cursor (X) when on the root background. New option -many to wait for more connections rather than exiting when the first client(s) disconnect. New option -flashcmap to try to follow installed colormaps under 8bpp indexed color as pointer is moved. New option -nap to watch for low activity and throttle down the polling rate. Useful on shared machines to keep the load down. Experimental option -id to show just that window and not the whole display. Some remaining bugs and inconvenient behavior... (e.g. new toplevels can be unseen) Fixed bug on multi-headed machines where the screen number was being ignored in a number of places. Fixed bug wrt connect_once mode. Now just refuses new clients unless shared rather than terminating all clients. Try to follow changing default colormap under 8bpp indexed color as color cells are added. Needed to pick up HAVE_LIBPTHREAD from autoconf. defined a select() macro for usleep() since usleep is not always thread safe. Catch and exit on errors in the shm setup work (XShmCreateImage, shmget,...) and moved the creation and removal work to separate utility functions. Added signal and X error handlers to try to clean out the shm objects before exiting on interrupt, etc. Improved performance a bit on the memcmp() in scan_display() by checking the whole line first. Added a workaround when threaded where libvncserver may disconnect too early if it does not hear from a client (a small heartbeat is sent). This may not be needed any longer. If -desktop has not been prescribed, try to choose a title based on DISPLAY and the hostname (and window name under -id).