Links: I just posted Test 05 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-Test05.exe.bz2 (4 KB) Server source, direct link: http://www.msu.edu/~huntharo/xwin/xwinclip/xwinclip-20020612-1316.tar.bz2 (8 KB) Changes: 1) xwinclip.c - Break this single source file into xwinclip.c, textconv.c, textconv.h, wndproc.c, wndproc.h, xevents.c, and xevents.h. (Harold Hunt) 2) xwinclip.c - Pause and loop to retry, after a delay, if we fail while opening the display. (Harold Hunt) 3) xwinclip.c - Remove a call to XSelectInput that was operating on our own window and always returning BadWindow. Apparently the event mask for our own window has to be changed with XChangeWindowAttributes. I've put a #if0'd example of using XChangeWindowAttributes into the file. (Harold Hunt) 4) xwinclip.c - Remove a call to XFlush. It doesn't seem necessary to flush any events in our queue before we start processing events. However, I may have read somewhere that we have to do this, so I may have to re-add this call to XFlush later. (Harold Hunt) 5) xwinclip.c - Create an atom for WM_DELETE_WINDOW. This will get is an X event when a window manager is about to kill us. However, it does nothing for the case where the server is told to GiveUp (). (Harold Hunt) 6) xwinclip.c - In CreateMessagingWindow, add a call to ShowWindow passing SW_HIDE and add a call to UpdateWindow. I'm not sure, but these may be necessary to kick off Windows event processing. On a strange note - the current xwinclip doesn't process any Windows messages. (Harold Hunt) 7) xevents.c - Add handling for WM_DELETE_WINDOW. (Harold Hunt) Enjoy, Harold
