xwinclip/-clipboard - Development on no selection stealing version

Harold L Hunt II huntharo@msu.edu
Thu Jul 10 15:40:00 GMT 2003


JS,

The XFIXES branch is there... I am just not an expert with CVS so I 
would either have to find my email where I describe how to checkout a 
branch, or I would have to look in the CVS manual and tell you how to do 
it.  Both of these are easier if you just look it up yourself.

Harold

J S wrote:

> 
> Harold,
> 
> Have you taken out the XFIXES branch?
> 
> JS.
> 
>> Hi,
>>
>> Could you help me out please? I'm not too familiar with using the 
>> XFree CVS. Do I need to check out all the XFree code to compile the 
>> test code below? I tried:
>>
>> cvs checkout -A xc
>>
>> but that is taking a really long tim to download so not sure if I'm on 
>> the right track here.
>> I also tried :
>>
>> cvs checkout -rEXPR1 XFIXES_BRANCH
>>
>> but that didn't work.
>>
>> Thanks for any help.
>>
>> JS.
>>
>>>
>>> I committed an XFIXES_BRANCH branch to CVS on SourceForge.  Follow 
>>> the instructions from David's email in this thread if you don't know 
>>> how to checkout a branch.
>>>
>>> I hope I got all the correct files checked in... I won't be back 
>>> online until Sunday evening.
>>>
>>> Harold
>>>
>>> Harold L Hunt II wrote:
>>>
>>>> I have been working with the code for Keith Packard's XFIXES 
>>>> extension.  The XFIXES extension includes a new hook in 
>>>> Xserver/dix/dispatch.c that allows functions within the Xserver 
>>>> (such as the XFIXES xtension) to register for a callback when a 
>>>> selection's ownership changes, among other things.
>>>>
>>>> The best documentation I can find for the selection portion of 
>>>> XFIXES is Owen Taylor's writeup on a RedHat list that doesn't seem 
>>>> to have a public archive anymore.  Google has a cache; both URLs are 
>>>> below...
>>>>
>>>> https://listman.redhat.com/pipermail/xdg-list/2002-November/000937.html
>>>>
>>>> http://216.239.53.100/search?q=cache:4osKtTvNNhcJ:https://listman.redhat.com/pipermail/xdg-list/2002-November/000937.html+XFixesSelectSelectionInput&hl=en&ie=UTF-8 
>>>>
>>>>
>>>>
>>>>
>>>> In any case, I reincluded the XFIXES extension in my local tree from 
>>>> SourceForge.  I built the extension and modified the -clipboard 
>>>> module to register for messages from the XFIXES extension related to 
>>>> ownership changes of XA_PRIMARY.
>>>>
>>>> The ownership notifications work just fine, and I am able to copy 
>>>> text from X to Windows repeatedly without having to transfer 
>>>> ownership of XA_PRIMARY to the clipboard manager (the -clipboard 
>>>> module).
>>>>
>>>> The remaining problem is that I modified the Win32 message loop in 
>>>> the -clipboard module to add itself to the clipboard chain and to 
>>>> call XSetSelectionOwner when something comes through the Windows 
>>>> clipboard. This immediately resulted in an infinite loop, as my X 
>>>> event handling for a selection ownership change calls 
>>>> XConvertSelection, which ends up sending a SelectionNotify event 
>>>> back to the -clipboard module.  The -clipboard module copies the 
>>>> text from the X clipboard to the Windows clipboard on a 
>>>> SelectionNofity event.  Thus, the text makes a round-trip from the 
>>>> Windows clipboard, to the X clipboard, back to the Windows 
>>>> clipboard, ad nauseam.
>>>>
>>>> I added a little break-out in the selection ownership change 
>>>> processing that prevents XSetSelectionOwner from being called if the 
>>>> current owner of the selection is the clipboard manager window.  
>>>> This stops the infinite looping, but it causes a problem very 
>>>> similar to the original xwinclip problem: the X selection is 
>>>> immediately unhighlighted.
>>>>
>>>> So, my questions are:
>>>>
>>>> 1) Does anyone feel like helping on this?  Got any ideas right off 
>>>> the bat?
>>>>
>>>> 2) What would be the best way for me to share the code with other 
>>>> developers?  I don't want to commit the XFIXES stuff to our 
>>>> SourceForge tree's HEAD, but could I use another branch?  If so, 
>>>> please give me some instructions for what to do... I haven't got 
>>>> time to study CVS all day.
>>>>
>>>>
>>>> I am pleased with my current progress point.  This version that is 
>>>> dependent upon a stripped-down XFIXES extension will represent about 
>>>> a 40% completion point in new clipboard integration support that 
>>>> doesn't steal selection ownership.  The remaining work to be done 
>>>> could include removing the clipboard manager client altogether, 
>>>> removing any dependency on XFIXES and using only the internal 
>>>> hooking interface, etc.
>>>>
>>>> Please postpone any debate on those remaining steps until the 
>>>> current programming actually works.  There will be no point to 
>>>> debate the merits of steps 5, 6, and 7 unless we can actually get 
>>>> step 4 to do what we intend.
>>>>
>>>>
>>>> Harold
>>>
>>>
>>
>> _________________________________________________________________
>> Sign-up for a FREE BT Broadband connection today! 
>> http://www.msn.co.uk/specials/btbroadband
>>
> 
> _________________________________________________________________
> Hotmail messages direct to your mobile phone http://www.msn.co.uk/msnmobile



More information about the Cygwin-xfree mailing list