freenode/#clim - IRC Chatlog
Search
6:44:01
jackdaniel
currently our make-space-requirements asserts, that <= 0 min-width width max-width (and similar for height)
6:44:42
jackdaniel
example: sometimes we compbine space requirements where component knows only its minimal width/height
6:45:29
jackdaniel
with other space requirement, where min-width is 0, width is 1 and max-width is +fill+
6:46:02
jackdaniel
result of such combination is min-width=100, width=1, max-width=+fill+, what leads to assertion dropping us in the debugger
6:46:35
jackdaniel
imho this should be adjusted if these criteria can be met like: min-width=100, width=100, max-width=+fill+
8:09:12
jackdaniel
honoring it (or not) is a different (however close) issue. I'm speaking about combining compatible space requirements (when you have requirement [0;10;100] and [20;*;120] then combination should be [20;20;100] (and not [20;10;100] what leads to an error) where [min;optimal;max]
8:11:34
jackdaniel
I've hit the problem when I've tried to specify only a min-width and min-height for text-pane (to be one-column/line-height size)
8:14:32
jackdaniel
that combined with default space requirements yielded [min>0; 0; +fill+] which failed on assertion
8:14:55
jackdaniel
imho we should clamp width to min;max boundries instead of signalling the assertion
8:23:43
jackdaniel
so I'm leaving the assertion, but it is enforced *fater* clamping optimal width/height
8:24:42
jackdaniel
I'm also adding clampf macro to climi: (define-modify-macro clampf (min max) clamp)
8:49:34
loke
beach: In other words, I think my proposal will work, but I am concerned that it's not the best one.
8:51:46
jackdaniel
"even if they are running in different processes." doesi t mean process or application frames? do you plan some kind of serialization of lisp objects? presentation types etc?
9:05:05
jackdaniel
loke: I've added a few comments under the issue with things which doesn't seem clear to me
9:07:19
loke
jackdaniel: Yes. I haven't addressed the serialisation of Lisp object smuch because I haven't actually played around with any of that yet. It's merely a note that the system would enable it.
9:07:21
jackdaniel
or it has the same name, *but* is not compatible (just a package:name coincidence or older/newer version)
9:09:16
loke
jackdaniel: Simply that a given prtesetation would have a given Sexp represetnation. Fir example, an object that hols a list of strings would have an external represetnation as “list of strings” for example.
9:09:42
loke
If a client requests that the object be presented as such, it would receive a serialised list of strings.
9:10:20
loke
I have not envisioned any way to send arbitrary lisp instances for example... I'm not saying it's impossible, just that I haven't thought about it.
9:12:05
loke
jackdaniel: in that case, the sender would design a specific external representation. Its form is not important, but it could for example be something like (TITLE WIDTH HEIGHT LABEL DATAPOINTS etc...)
9:12:32
loke
That object would then have two representations: One being IMAGE and the other being My-CUSOTOM-GRAPH-FORMAT
9:13:08
loke
so the party that wants to paste that, would only paste is as an image, unless it happens to know about MY-CUSTOM-GRAPH-FORMAT in which case it would know what to do with it.
9:13:25
jackdaniel
alright, is it possible for you to clean up your implementation, so it may be played between two application frames with your mixin?
9:13:43
loke
Well sure. The custom format could be some serialised form, but that's between the sender and receiver to decide upon.
9:14:11
loke
jackdaniel: Yes. That is my intention, as long as the general structure is deemed “okayish”. :-)
9:14:50
jackdaniel
I don't know if I understand it. does every pane have its own clipboard? or clipboard is associated with port? or with a frame?
9:15:33
jackdaniel
we had a talk about that a few weeks back, but I don't think it is reflected in this proposal
9:15:36
loke
jackdaniel: Well... That's complicated. 1) Conceptually there is only one clipboard in the entire system.
9:16:49
jackdaniel
[that should be explained in the issue!] [I think that having per-frame clipboard has more sense, and frame is roughly a window equivalent]
9:18:25
jackdaniel
user-perspective wise it should behave exactly the same, when you start two frames from the same lisp image
9:18:33
loke
jackdaniel: Well, not really. There may be two clipboard objects, but only one is ever active at any point in time.
9:19:09
jackdaniel
OK; I think I'll need to play with a simple demo a little to understand it better
9:19:11
loke
jackdaniel: Correct. Because the concept of a clipboard reflects the clipboard in your operating system. When you Control-C in notepad, it goes into the system clipboard (even though internally it's managed by the owning process)
9:20:52
jackdaniel
is it possible to make it a standalone demo which would be run on current master?
9:24:28
loke
jackdaniel: No. It doesn't work. I tried to, but the existing implementation already does stuff with the events.