[Xquartz-dev] Making it less ambiguous - Copy/Paste Problem

Jordan K. Hubbard jkh at apple.com
Thu Sep 11 18:12:39 PDT 2008


On Sep 11, 2008, at 5:28 PM, Jeremy Huddleston wrote:

> 1) select text in the TK Widget
> PRIMARY="Owned by TK" CLIPBOARD=NULL PASTEBOARD=NULL
> 1a) Do X11.app's Edit->Copy
> PRIMARY="Owned by TK" CLIPBOARD=NULL PASTEBOARD="TK Text 1"
> 2) do edit->copy in gimp
> PRIMARY="Owned by TK" CLIPBOARD="Owned by Gimp" PASTEBOARD="GIMP  
> IMAGE"
> 3) select new text in TK Widget
> PRIMARY="Owned by TK" CLIPBOARD="Owned by Gimp" PASTEBOARD="GIMP  
> IMAGE"
> 3a) Do X11.app's Edit->Copy
> PRIMARY="Owned by TK" CLIPBOARD="Owned by Gimp" PASTEBOARD="GIMP  
> IMAGE"

That isn't, however, quite what George and I had in mind.  What we had  
in mind would look more like this:

1) select text in the TK Widget
PRIMARY="Owned by TK" CLIPBOARD=NULL PASTEBOARD=NULL
1a) Do X11.app's Edit->Copy
PRIMARY="Owned by TK" CLIPBOARD=NULL PASTEBOARD="TK Text 1"
2a) do edit->copy in gimp
Proxy notices change to CLIPBOARD and copies to PRIMARY, becoming  
owner of PRIMARY
2b) Since we only pay attention to PRIMARY in copy-to-pasteboard  
operations now:
PRIMARY="Owned by Proxy" CLIPBOARD="Owned by Gimp" PASTEBOARD="GIMP  
IMAGE"
3) select new text in TK Widget
PRIMARY="Owned by TK" CLIPBOARD="Owned by Gimp" PASTEBOARD="GIMP IMAGE"
3a) Do X11.app's Edit->Copy
PRIMARY="Owned by TK" CLIPBOARD="Owned by Gimp" PASTEBOARD="Tk  
text" (since, again, we are only looking at PRIMARY).

So, in essence, the CLIPBOARD becomes irrelevant to the copy-to- 
pasteboard operation since the proxy simply takes care to copy the  
CLIPBOARD to PRIMARY when an application only sets the former.  It  
also becomes essentially impossible for an X11 app to own both  
CLIPBOARD and PRIMARY with different contents in each, which I  
consider a feature rather than a bug on our platform since that's just  
confusing and we're essentially forcing X11 users to face the fact  
that they're on a Mac.

I also think it's fairly close to what you suggested a few rounds ago,  
so where's the flaw in that thinking?

- Jordan



More information about the Xquartz-dev mailing list