freenode/#clim - IRC Chatlog
Search
2:57:33
loke
jackdaniel: I made the requested changes. However, I don't understand the last comment about incomplete state.
5:21:19
slyrus__
beach: does your clobber library support "time travel" where I can see the state of the world at a given (earlier) point in time?
5:22:42
beach
I don't think I implemented that, but it would be trivial since the log is all there is.
7:22:01
jackdaniel
loke: I mean that these operations are single setf, so there shouldn't be a problem with concurrent access
7:22:42
jackdaniel
counterexample: event queue: fetch queue head and replace it with (cons element last-head), this may lead to events being lost
7:31:39
jackdaniel
loke: could you explain to me how the request-selection-content works? especially for :targets
7:34:02
loke
jackdaniel: The :TARGETS stuff is part of the CLX implementation. It's backend-specific.
7:35:47
loke
OK, when a client wants to request something from the clipboard, it specifies an ATOM which indicates the type of data that the requestor expects.
7:36:38
loke
There is a special atom, :TARGETS, that indicates that the requestor expects a list of the formats that the selection owner can support.
7:37:05
loke
So, when the client receives a :TARGETS, it needs to constrcut a list of all datatypes that are supported, and return that to the requestor.
7:37:35
loke
Conversely, when a CLIM client wants to copy some data, it sends a :TARGETS request to learn what the supported datatypes are, and then pick the most appropriate one once the reply comes back.
7:39:14
loke
As you can see in MAKE_TARGETS-RESPONSE that it calls the conversion function for the clipboard content multiple times to determine the supported types, in order to construct the list of supported targets.
7:42:54
jackdaniel
so let me confirm my understanding: clim wants something of presentation type FOO, it calls request-selection-content which issues :targets request via convert-selection [end of processing]
7:43:16
jackdaniel
some other client responds with available types and clim iterates over these types if they are convertible to ptype
7:43:34
jackdaniel
if they are, the very same request is sent once again, but with appropriate type determined before