freenode/#clim - IRC Chatlog
Search
6:28:27
jackdaniel
1. we didn't catch invalid coordinates (so problem was masked by invalid request on low enough safety/debug settings)
6:29:33
jackdaniel
3. we called bounding-rectangle on resulting effective-region (what was the major cause of the issue): if regions intersection with sheet native region was NIL we have called effectively (bounding-rectangle +nowhere+)
6:30:17
jackdaniel
and bounding rectangle of nowhere is 0:0 0:0, so disregarding our patient work to find the effective region something from outside it could sneak in if the effective region was nowhere and sheet beginning was not part of the native region
11:31:53
jackdaniel
loke: I'm in the middle of thinking about protocol which will benefit any backend (with default implementation). I need to go somewhere else now and I'm not sure if I'll find for it today, so for your comment I'm publishing an unfinished sketch of "default" implementation here (without comments): https://gist.github.com/dkochmanski/8728089a6976a3481082bf67dfbd66a1
11:43:14
jackdaniel
idea behind this solution is that x11 backend eql-specializes on selection :primary and :clipboard and replace default standard-port based approach
13:32:50
loke
jackdaniel: in your implementation of request-selection, what if there is no active sleection?
13:57:21
jackdaniel
this generalisation would work for arbitrary selections with optional backend specialisation
14:18:08
loke
jackdaniel: The X11 selection machnism is generalised in terms of clipboard/selection, etc. In fact, it support an infite number of "boxes". However, only selection and clipboard is typically used. The old concept of numbered "cut buffers" isn't supported by anything these days.
14:18:29
loke
And othe rplatforms are even more limited. Windows only supports clipboard, afaik. OSX has clipboard+selection
14:19:11
loke
I think having CLIM settle on clipboard and selection is probably enough. If we try to generalise further we may end up in a situation where the mapping from CLIM concepts to native OS concepts are unnatural.
14:20:23
loke
By the way, I managed to override the history stuff in interactor, and replaced it with my own implementation that doesn't interfere with the existing functionality. It's ugly though, and I reference a lot of non-exported symbols to make it work.
14:20:29
loke
Here's the code: https://github.com/lokedhs/maxima-client/blob/master/src/maxima-history.lisp#L52