summaryrefslogtreecommitdiffstats
path: root/x11vnc/ChangeLog
blob: 95456f08e9d8350fd8488497ef45a0695e1d3dcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
2005-06-18  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* -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 <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>
	* alter "magic cleanup key sequences" (N*Alt_L and N*Super_L)
	* dial down check_xrecord_reset() reset times.

2005-05-24  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* more -scrollcopyrect, -scr_term hacks for terminals.
	* -wait_ui, -nowait_bog tunables.  push cursor sooner.

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>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* -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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <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.
	* workarounds for old trees.

2005-02-23  Karl Runge <runge@karlrunge.com>
	* final changes for 0.7.1 release.

2005-02-21  Karl Runge <runge@karlrunge.com>
	* -nap is now the default, disable with -nonap
	* set version to 0.7.1, word tune -help, etc.

2005-02-14  Karl Runge <runge@karlrunge.com>
	* cleanup -users stuff, add "lurk=" mode
	* support cde in -solid
	* simple gui mode for beginners, -gui ez,...

2005-02-10  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* -solid solid color background when clients are connected. 
	* -opts/-? to show option names only.

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..
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* final polishing for 0.7 release, tkx11vnc tweaks
	* more careful rfbPE in pick_window, start check_user_input4()

2004-12-19  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* -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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* -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 <runge@karlrunge.com>
	* -add_keysyms dynamically add missing keysyms to X server

2004-07-26  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* ignore keysyms 5-8 for keycode keymapping.
	* help to stdout for easy paging, add lastmod to help and -version.

2004-07-15  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* -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 <runge@karlrunge.com>
	* extend -allow to re-read a file with allowed IP addresses. 
	* improvements to -help text.

2004-07-01  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* speed up scaling a bit for slow machines (still all floating point)
	* add no blending option (-scale fraction:nb)

2004-06-26  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* simple ~/.x11vncrc config file support, -rc, -norc

2004-06-12  Karl Runge <runge@karlrunge.com>
	* 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 <pass> <file> so storepasswd program not needed

2004-06-05  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* add view-only passwd via -viewpasswd and 2nd line of -passwdfile

2004-05-21  Karl Runge <runge@karlrunge.com>
	* -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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* -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 <runge@karlrunge.com>
	* support for cursor positions updates -cursorpos
	* option for SIGPIPE handling -sigpipe

2004-04-13  Karl Runge <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <runge@karlrunge.com>
	* 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 <windowid> 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).