Blue wrote:
Agreed. With the word obvious emphasized.
Oh sorry, it's hard to guess what it's obvious for others and what's not. It's true you start mentioning you wanted to initiate the copy after a specific user interaction but that was way late in the thread, and after Danilo mentioned it specifically. Maybe I misunderstood.
Let's left it there to the benefit of someone else, I'm sure he's out there.
Blue wrote:
In fact, the whole question simply boils down to this : is it OK for an app to listen to the clipboard ?
Agreed ?
Yes, it's just more risky since it can always misinterpret the data there as directed to itself when it's not, compared to the full human-controlled cycle of copy (I know I'm copy certain data to the clipboard) and paste (I know the program I'm pasting to is built to process this data). The human is expecting the receiving program to work on that data. It's telling that clearly by initiating the pasting operation.
The url sniffer you mentioned is an acceptable example of the listeners family since it does rely on a standardized pattern (http://, https://) which *should* be followed by url. But sometimes it doesn't, like in this paragraph.
In short:
When the user oversee the entire cycle he takes the responsibility of routing valid data in and out *and* arbitrate the way this happens avoiding conflicts between multiple programs running.
The original idea, where nothing bad happens unexpectedly and you know exactly what's happening step by step.
He acts like a human mutex of sort.
The destination application can still reject the pasted data if it wants.
When a software listen and grab what it *thinks* it's of interested to itself and does not alter the clipboard it takes part of this responsibility and can damage just itself by producing garbage (garbage in -> garbage out) if it's wrong.
So no harm done to others.
My nightmare-ish scenario is hell on Earth.
It's with good reason there are API on every OS dedicated to various way to do inter-process communication: files, shared memory, pipes, messages, sockets, etc. etc.
Blue wrote:
I would never have figured out that you had to use Poke and Peek to access the shared memory. Of course, now, pfttttt, it's sooooooooooo obvious. Gosh !
Agreed. With the word
obvious emphasized.
See ? It's hard to guess it right.
