This is the mail archive of the
cygwin-xfree-announce@cygwin.com
mailing list for the Cygwin/XFree86 project.
[ANNOUNCEMENT] xwinclip Test 04 (Cygwin/XFree86 and Windows clipboard integration)
- From: "Harold Hunt" <huntharo at msu dot edu>
- To: "cygx" <cygwin-xfree at cygwin dot com>,"cygxannounce" <cygwin-xfree-announce at cygwin dot com>
- Date: Mon, 10 Jun 2002 21:23:27 -0400
- Subject: [ANNOUNCEMENT] xwinclip Test 04 (Cygwin/XFree86 and Windows clipboard integration)
- Reply-to: <cygwin-xfree at cygwin dot com>
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