Re: State of the X clipboard, and perhaps a solution



From: Jerry Haltom <jhaltom feedbackplusinc com>

> 1. Content negotiation. A copying program must be able to advertise what
> data types (mime types) it supports. A pasting program must be able to
> retrieve the data in any mime type it also supports.

So if the copying program doesn't support a mime type that the pasting
program supports, then the data doesn't move?

> 2. Clipboard survives on application close. When an application or
> document or dialog or other UI component from which the user made a
> selection and a copy ceases to exist, the clipboard data must be
> preserved. Including content negotiation. The user should not be aware
> of "how a clipboard works", or "what the rules are". It should Just
> Work, as expected. Copy/paste... nothing more.

> This
> solves the second condition and immediately breaks the first. 

Is there a requirement that the clipboard mechanism must be compatible
with current applicaitons?  If so, then you end up tying your hands to
the point of not being able to successfully get to where you want to go.

If not, then what if what one does in the clipboard publish/copy process
is provide to the clipboard daemon an object which provides methods to obtain
the data in whatever manner the developer wishes (persistent database,
flat file, internally to the object) as well as the conversion methods
for the formats that are supported.  The clipboard daemon then passes
requests from other apps, and if methods for the data types required are
not types provided by the object, then the paste request fails.  The clipboard
daemon is basically an object broker/warehouse manager.  In this
way, the code to generate the data is available, but the application process
need not be present.
-- 
Tcl - The glue of a new generation.  <URL: http://wiki.tcl.tk/ >
Larry W. Virden <mailto:lvirden cas org> <URL: http://www.purl.org/NET/lvirden/>
Even if explicitly stated to the contrary, nothing in this posting should 
be construed as representing my employer's opinions.
-><-



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]