[Vm-dev] Extended Clipboard

Eliot Miranda eliot.miranda at gmail.com
Thu Mar 23 20:05:30 UTC 2023


On Thu, Mar 23, 2023 at 11:40 AM Hilaire Fernandes <hfern at free.fr> wrote:

>
>
> Hi,
>
> I want to copy to the OS clipboard DrGeo sketch as SVG image.
>
> The clipboard in the image is only for text. I read about Extented
> Clipboard (Mac OSX) plugin to manage other type of data. I was told the
> plugin also existed for Linux at some time (when Sophie was developed). Is
> it possible to retrieve it?
>

As John said it doesn't appear to exist for Linux.  But X11 has a clipboard
and implementing the innards for X11 shouldn't be that difficult.  The only
complication is that if one wants to do the job "properly" one has to
extend the indirection scheme Ian Piumarta came up with so that it can work
on the other graphical back-ends such as the raw frame buffer.  Hillaire,
if you're interested in implementing the X11 ExtendedClipboard internals
I'm happy to answer any questions you have.

Just a little bit about what I'm trying to do:

We use the ClipboardExtendedPlugin to bring in data to Virtend, in
particular images, filenames, and text.  I love to be able to paste
Shout-styled text into email and currently that's difficult:
1. select some styled text
2. use the "copy as html" menu item
3. paste the HTML text into a file called 'foo.html'
4. open the file in a web browser
5. select the text in the web browser

So I'm making sure that the plugin can paste multiple forms of text.
Currently on Mac I have the following (a variation of which I just used to
paste the following)
[| text styledText htmlText |
text *:=* (Text sourceCodeAt: #printHtmlString) asText.
styledText *:=* SHTextStylerST80 new parseAMethod: true; styledTextFor: text
.
htmlText *:=* styledText printHtmlString.


*"If one does only the addClipboardData:...dataFormat: 'public.html' then
Safari pastes styled text correctly.Do both that and addClipboardData: ...
dataFormat: 'public.text' and Safari pastes plain text.So the plugin is
doing damage using declareTypes: every time. It needs to augment the
types."*
ExtendedClipboardInterface current
    clearClipboard;
    addClipboardData: '<meta charset="UTF-8">', htmlText asString
dataFormat: 'public.html';
    addClipboardData: (UTF8TextConverter new encodeString: text asString)
dataFormat: 'public.utf8-plain-text'].

So the Mac plugin primitives don't yet support being able to paste multiple
alternatives in a series of invocations.  I could implement an interface
that takes multiple alternatives in a single primitive invocation, but I
think John's design intent is better; one should be able to use a sequence
of invocations, each of which adds to the clipboard.  So I'm trying to get
that to work right now.  I'm working on MacOS and Windows to make sure that
things work there.  I'm not working on Linux cuz there's no there there yet
;-)

Thanks
>
> Hilaire
>
> --
> GNU Dr. Geohttp://drgeo.euhttp://blog.drgeo.eu
>
>

-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20230323/72a396a0/attachment-0001.html>


More information about the Vm-dev mailing list