mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-10 01:48:00 +00:00
a50da0e309
Rather than trying to get my existing hugely complicated X-style clipboard code to somehow work with the Quartz GTK back end, I've written an entirely new and much simpler alternative clipboard handler usnig the higher-leve GtkClipboard interface. It assumes all clipboard text can be converted to and from UTF-8 sensibly (which isn't a good assumption on all front ends, but on OS X I think it's reasonable), and it talks to GDK_SELECTION_CLIPBOARD rather than PRIMARY, which is the only clipboard OS X has. I had to do a fiddly thing to cope with the fact that each call to gtk_clipboard_set_with_data caused a call to the clipboard clear function left over from the previous set of data, so I had to avoid mistaking that for a clipboard-clear for the _new_ data and immediately deselecting it. I did that by allocating a distinct placeholder object in memory for each instance of the copy operation, so that I can tell whether a clipboard-clear is for the current copy or a previous one. This is only very basic support which demonstrates successful copying and pasting is at least possible. For a sensible OS X implementation we'll need a more believable means of generating a paste UI action (it's quite easy to find a Mac on which neither Shift-Ins nor the third mouse button even exists!). Also, after the trouble I had with the clipboard-clear event, it's a bit annoying to find that it _doesn't_ seem to get called when another application becomes the clipboard owner. That may just be something we have to put up with, if I can't find any reason why it's failing. |
||
---|---|---|
.. | ||
configure | ||
gtkask.c | ||
gtkcfg.c | ||
gtkcols.c | ||
gtkcols.h | ||
gtkcompat.h | ||
gtkdlg.c | ||
gtkfont.c | ||
gtkfont.h | ||
gtkmisc.c | ||
gtkmisc.h | ||
gtkwin.c | ||
unix.h | ||
ux_x11.c | ||
uxagentc.c | ||
uxcfg.c | ||
uxcons.c | ||
uxgen.c | ||
uxgss.c | ||
uxmisc.c | ||
uxnet.c | ||
uxnoise.c | ||
uxpeer.c | ||
uxpgnt.c | ||
uxplink.c | ||
uxprint.c | ||
uxproxy.c | ||
uxpterm.c | ||
uxpty.c | ||
uxputty.c | ||
uxsel.c | ||
uxser.c | ||
uxsftp.c | ||
uxshare.c | ||
uxsignal.c | ||
uxstore.c | ||
uxucs.c | ||
xkeysym.c | ||
xpmptcfg.c | ||
xpmpterm.c | ||
xpmpucfg.c | ||
xpmputty.c |