add a separate header file for MetaContact::Private class
[kdenetwork.git] / krfb / libvncserver / TODO
blob70dae90dc529bc472143bc562dbe65a32e999d1b
1 immediate:
2 ----------
4 x11vnc: clipboard, cursor, updates interruptible by input (doesn't work yet)
5 extra_bytes in rfbDrawCharWithClip.
6 tested mouse buttons make copy rect, but text is not marked as mod.
7 cursor drawing: set optional grain to mark bigger rectangles as drawn (else
8         you end up with thousands of one-pixel-rectangles to encode).
9 selectbox: scroll bars
10 documentation
11         hint that to mark very tiny regions as
12         modified is possibly inefficient for the encodings.
13         (a trail of points could better be a small rectangle).
15 later:
16 ------
18 authentification schemes (secure vnc)
19         IO function ptr exists; now explain how to tunnel and implement a
20         client address restriction scheme.
21 autoconf? at least Sun Solaris and Windows compilation
22         (maybe Michael makes a small autconf)
23 using Hermes library for fast colour translations.
24 CORBA
25 internal HTTP tunnelling feature (needs a special GET target and a few
26         changes to java applet).
28 done:
29 -----
31 .x11vnc: sometimes XTest fails (but doesn't with x0rfbserver)
32 .DeferUpdateTime (timing problems!)
33 .empty cursor sending doesn't work.
34 .udp (need an rfbClientPtr udpClient in rfbScreen)
35         input only; nearly untested (don't have the clients).
36 .font handling: bpp>1
37 .test copyRect and pthreads.
38 .optionally dont draw rich cursors as xcursors
39 .cursor smears on IRIX with pthreads, then has bus error. has to be a mutex
40         problem in cursor routines.
41 .fix bug in http (java) client with big endian server: byte swapping is broken
42         (was a cursorshape which was sent too soon; java vncviewer assumes
43         a rich cursor shape to be always 1 byte per pixel, however, framebuffer
44         updates before setting the pixel format can be server format)
45 .rfbConnect, ConnectToTcpAddr
46 .update to newest TridiaVNC version (1.2.1).
47 .adapt rdp2vnc (rdesktop)
48 .pthreads concept: How to iterate over rfbClientPtr's? So that it can be
49          either called from rfbProcessEvents (which locks the list mutex)
50          or from the main thread (where the background loop sometimes
51          locks the list mutex).
52         - cursor drawing!
53         - cursor setting!
54         - rfbMarkRectAsModified
55   (did that by adding a refcount to clients secured by refCountMutex;
56    it also was necessary to check for cl->sock<0 in SendUpdateBuf)
57 .translate.c: warning about non 8-bit colourmaps
58         16-bit colourmaps are 192k -> no use without fast net.
59 .rfbCloseClient
60 .set colourmap
61 .support 3 bytes per pixel
62 .cursors
63 .cutpaste
64 .httpd
65 .other encodings
66 .test drawing of cursors when not using xcursor or rich cursor encoding
67 fix bug with odd width (depends on client depth: width has to be multiple of server.bytesPerPixel/client.bytesPerPixel). only raw!! -> bug of vncviewer!
68 .use sraRegion from Wez instead of miregion, because it is much smaller
69 .       - connection gone and then reconnect is a problem
70           the reason: there are in fact three threads accessing
71           the clientPtr: input, output and the application thread.
72           if you kill the viewer or do rfbCloseClient, all of those
73           three have to be warned that this is happening.
74         -> rfbClientConnectionGone can only be called by the outer loop
75         (with background loop, it is input, else it is processEvents).
76 . fixed pthreads issues:
77         cursor deadlock,
78         CopyRect deadlock.
79 . when copying a region with modified parts, they were not marked
80         as modified