[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