xwinclip re selection polling
Jehan
nahor@bravobrava.com
Thu Aug 29 02:31:00 GMT 2002
I think the goal in the not-too-far-away-future is to have xwinclip
integrated directly inside the XWin app. This would save you the trouble
to use SetWindowsHookEx, which IIRC is a big piece of crap. Also, this
would save you the trouble of killing xwinclip while XWin is still running.
Jehan
Chris Twiner wrote:
> Hi All,
>
> I posted last week that I had a possible solution to the xwinclip
> selection behaviour. I didn't get any feedback so I endeavoured to do
> it anyway. So this ones a bit long but it's an explanation of how I've
> got it working ..
>
> Basic premise :
>
> Use a seperate dll that runs a system wide Windoze hook to catch all
> activate messages. 2 events are of interest in the hook, when
> Cygwin/XFree86 is activated and when it is deactivated. When an event
> is detected the hook then sends a broadcast registered message to all
> top level windows.
>
> The top level Windoze window for xwinclip is run in a seperate thread
> and as such always receives the messages. Upon receipt of the
> activation messages flags are set up that indicate that either
> xtowindows be called or windowstox. These functions copy the data in
> the respective directions.
>
> The flags have to be used so the main thread (the owner of pDisplay) is
> the one that calls the functions. They in turn either
> XSetSelectionOwner (windowstox) or they XConvertSelection (xtowindows)
> to set the messages running.
>
> Major changes are that the select in xwinclip.c has a time limit applied
> and that the XSetSelectionOwner in xevents.c and XSetSelectionOwner in
> xwinclip.c are removed.
>
> This means that all selection operations behave as expected in XWin with
> xwinclip running.
>
> However I have some limitations:
>
> closing xwinclip:
> closing XWin closes xwinclip but doesn't go through WM_DESTROY on the
> x window, just
> XIO: fatal IO error 113 (Connection aborted) on X server "127.0.0.1:0.0"
> after 48 requests (47 known processed) with 0 events remaining.
> I made a script to close xwinclip via sending an X message but it
> results in crashing XWin as well.
>
> the select statement timeout:
> In order to get the polling on the notification flags (from the
> windows thread) the timer is set to 1 sec (or some other time). Is
> there a way to make the flags act as file descriptors for the select
> statement?
>
> Any help on the problems would be appreciated.
>
> The code is still (cough cough) a little rough n ready so I will release
> it when appropriate. Is putting a zip attachment on this mailing list
> appropriate?
>
> I have only been working on this for 3 days and it's my first attempt at
> X antics so if these are FAQ style items I appologise (I've looked just
> can't find them).
>
> Regards,
>
> Chris Twiner
>
> _________________________________________________________________
> Send and receive Hotmail on your mobile device: http://mobile.msn.com
>
>
More information about the Cygwin-xfree
mailing list