On OS X, if I load gitk, copy a sha1, then quit, the sha1 isn't put
into the system-wide pasteboard. It's definitely copied - I can paste
it back into the sha1 field - but it seems to be some sort of local
pasteboard that's specific to gitk
If I switch to another app, the sha1 is stored in the pasteboard
correctly, and I can then quit gitk and still have it available. I'm
guessing that gitk (or Tcl/Tk) is syncing with the system-wide
pasteboard on focus change, but not on quit.
I'm using the version of gitk in 388afe7881b, and Tcl 8.4.7
Any suggestions on fixing / working around this?
Jon
Jonathan del Strother [off-list ref] wrote:
On OS X, if I load gitk, copy a sha1, then quit, the sha1 isn't put
into the system-wide pasteboard. It's definitely copied - I can paste
it back into the sha1 field - but it seems to be some sort of local
pasteboard that's specific to gitk
If I switch to another app, the sha1 is stored in the pasteboard
correctly, and I can then quit gitk and still have it available. I'm
guessing that gitk (or Tcl/Tk) is syncing with the system-wide
pasteboard on focus change, but not on quit.
I've seen this not just on Mac OS X but also on Windows. It seems
like Tk wipes the clipboard clean on exit, so I've just learned to
not exit a Tk application until I'm done with the clipboard...
--
Shawn.
Le 07-11-22 à 16:01, Shawn O. Pearce a écrit :
Jonathan del Strother [off-list ref] wrote:
quoted
On OS X, if I load gitk, copy a sha1, then quit, the sha1 isn't put
into the system-wide pasteboard. It's definitely copied - I can
paste
it back into the sha1 field - but it seems to be some sort of local
pasteboard that's specific to gitk
I don't know the specific of Tcl/Tk on OSX, but for Cocoa apps you
can choose how you want it pasteboard to behave. Imagine you copy a
1 gig video object, should you have another copy of it in the 'shared
space' ? no, that's why you can decide that you make it available on
demand only (if someone ask to paste it the system will ask your app
for the full content). But if you (as an application) have put
something in the pasteboard 'on-demand-only', then when you quit, you
should store the real value in there, nut just a pointer to the
values. I'm guessing the TclTk implementation doen't answer that
kind of notification from the system and quit without filling the
real pasteboard content.
- jfv