Links: I just posted Test 04 to the xwinclip development page: http://xfree86.cygwin.com/devel/xwinclip/
xwinclip binary and source code releases are available via the sources.redhat.com ftp mirror network (http://cygwin.com/mirrors.html) in the pub/cygwin/xfree/devel/xwinclip/ directory. You may wish to note the desired filename in the links below, then download from your closest mirror (http://cygwin.com/mirrors.html). xwinclip binary, direct link: http://www.msu.edu/~huntharo/xwin/xwinclip/xwinclip-Test04.exe.bz2 (4 KB) Server source, direct link: http://www.msu.edu/~huntharo/xwin/xwinclip/xwinclip-20020610-2055.tar.bz2 (6 KB) Changes: 1) xwinclip.c - Use select () in ConnectionNumber(pDisplay) and /dev/windows instead of calling XNextEvent, which blocks until the next event. This has many benefits: Windows messages are now processed almost immediately after they come in (the old approach could take minutes), we can catch the X shutdown and restart messages rather than having XNextEvent call exit () when it sees that the connection has closed (we don't currently catch these events), and the clipboard integration code can now be rewritten with the assumption that we can and will see the Windows events when they arrive without an X event immediately preceeding them (which may allow us to stop stealing ownership of the X selection). (Harold Hunt) Here is a description of using select instead of XNextEvent: http://www.xfree86.org/pipermail/xpert/2001-December/013978.html Here are two examples of how to use select instead of XNextEvent: http://www.neosoft.com/tcl/tclhtml/tclFAQ/part2/faq-doc-54.html http://www-h.eng.cam.ac.uk/help/tpl/graphics/X/signals.html (That second one is towards the bottom, just find `ConnectionNumber') 2) xwinclip.c - Move the X event loop into new function FlushXEventQueue. (Harold Hunt) Enjoy, Harold
