[Xquartz-dev] quartz-wm test version Re: Back to copy/paste.

Derek Fawcus dfawcus at cisco.com
Wed Apr 23 03:55:25 PDT 2008


On Tue, Apr 22, 2008 at 04:07:28PM -0700, Ben Byer wrote:
> On Apr 22, 2008, at 7:03 AM, Derek Fawcus wrote:
> 
> I built a new version for you with MACOSX_DEPLOYMENT_TARGET=10.4;  
> hopefully it will run under Tiger, although you will probably need to  
> make a symlink from /usr/X11 to /usr/X11R6.  If it doesn't work, let  
> me know, and I'll reinstall Tiger.
> 
> http://people.freedesktop.org/~bbyer/binaries/quartz-wm-20080422.bz2

Thanks,  that runs and I started playing with it.

(I happen to have your original 7.2 partial package installed here,
 side by side with the normal Tiger X11,  that seems to satisfy the
 library requirements w/o path games)

>     if (_only_proxy)
>     {
>         XAppleWMSelectInput (x_dpy, AppleWMActivationNotifyMask
>                               | AppleWMPasteboardNotifyMask);
>     }
>     else
>  {
>       if (_no_pasteboard) {
>         XAppleWMSelectInput (x_dpy, AppleWMControllerNotifyMask
>                               | AppleWMActivationNotifyMask
>                               | AppleWMPasteboardNotifyMask);
>       } else {
>         XAppleWMSelectInput (x_dpy, AppleWMControllerNotifyMask
>                              | AppleWMActivationNotifyMask);
>       }

Err - isn't that back to front?

The --no-pasteboard option sets _no_pasteboard,  which then runs with
all AppleWM events enabled,  whereas w/o any options the case with
only controller and activation events hits.

As to what it _means_,  from the limited docs (the header file for
applewm.h):

/* "Kinds" of PasteboardNotify events */
#define AppleWMCopyToPasteboard         0

This suggests that the extension event may be simply to request that
the X11 selection be copied to the pasteboard.  To me this seems to
imply some sort of async request,  but I'd have thought a synch copy
would have occurred when X lost focus;  and so an async request would
be unnecessary.

Surely the 'usual' selection stuff is still enabled despite the setting
of _no_pasteboard,  as that will be involving reacting to the
SelectionClear/SelectionNotify/SelectionRequest events and calling
XSetSelectionOwner.

I assume there must be a call to XSetSelectionOwner in quartz-wm,  but
has it been made conditional on _no_pasteboard (but see above about
apparent inverted case).


Anyway,   I'll have a bit more of a play later on.

DF


More information about the Xquartz-dev mailing list