freenode/#clim - IRC Chatlog
Search
13:03:17
loke
What I want to do is to specify the initial size of a frame as a percentage of the desktop size.
13:09:45
loke
jackdaniel: I note that in some recent version, pressing Shift-Space doesn't insert a space in the interactor anymore.
13:36:38
edgar-rft
Sorry the stupid question but when I look at the docs then a graft object returns the resolution of the display server and not the resolution of the monitor, but maybe I'm looking at the wrong place -> http://www.lispworks.com/documentation/lw445/CLIM/html/climguide-321.htm
13:36:54
jackdaniel
indeed, it doesn't seem annoying - I've accepted it because drei is expected to mimic emacs, and S-space is bound to space on emacs
13:37:44
jackdaniel
edgar-rft: graft represents the screen, so it is expected to return the resolution of the screen
13:37:47
loke
jackdaniel: Shift-Space is bound to space in pretty much anything. It would be a nightmare to type antyning in upper case if not. :-)
13:38:42
edgar-rft
jackdaniel: but loke asked about the resolution of the *monitor* what can be totally different than the current screen resolution
13:39:23
jackdaniel
I don't know what is the resolution of the monitor, so I've assumed that it is a question about the screen
13:41:58
edgar-rft
I was not trying to nitpick, I'm a graphic card and monitor electrician, and at least I have learned now what a graft object is :-)
13:45:02
jackdaniel
I like the second definition of graft here: https://www.thefreedictionary.com/graft
13:45:10
jackdaniel
" Deceitful or fraudulent use of one's position, especially in public office, to obtain personal profits or advantages." :-)
13:56:04
jackdaniel
OK, I was quite confused with the mirroring code (and expectations from the backend), and now it is clear - current code simply doesn't allow moving top-level managed sheets
13:56:28
jackdaniel
that's why my text backend did receive somewhat surprising calls from the core when I was testing how mirrors are modified
15:05:19
loke
If I want to create a list (vertically scrollable) of elements, each element having three values: 1) A name (variable name in maxima), 2) initial value (a number), 3) Expression (a maths equation). Values 2 and 3 should be editable.
15:36:43
loke
I'm cosidering putting it in a CLIM:FORMATTING-TABLE, but that feels wrong somehow. I'd like something like a regular table widget in most GUI frameworks.
15:38:08
loke
Right, but they are quite limiting. There is for example no way for the user to adjust the column widths
15:46:35
scymtym
jackdaniel: i also ran into some problems with top-level sheet/mirror positioning in the windows backend
15:48:24
jackdaniel
the problem is in the function %set-mirror-geometry, that explicitly skips setting the mirror transformation for top-level managed sheets
15:51:32
jackdaniel
I plan to write what is expected from the backend in the guide and leave things quite plain in McCLIM's core (i.e if the backend decides to ignore such requests, then it will be up to it)
15:52:34
scymtym
if anything, the core should me more careful about forwarding the right bits of what is specified in the :GEOMETRY application frame option
15:53:23
jackdaniel
n.b here is what I have now: http://turtleware.eu/static/paste/c404b66e-backend.org (the mirroring part is wip of course)
15:54:45
scymtym
making smaller pull requests (i know that is hard) would probably make the review easier/quicker
15:58:01
jackdaniel
btw, backend-wise, in the third (not pushed yet) batch of changes I want to change some backend functions
15:58:54
jackdaniel
that is more consistent with the specification and these functions are still rather internal
15:59:28
jackdaniel
(i.e port-set-mirror-icon lambda list will be (port sheet icon) instead of (port mirror icon))
16:00:15
scymtym
i noticed the inconsistency. i don't whether dispatching on the mirror is critical for any of those
16:01:16
jackdaniel
the specification for clim: functions seems to pass the sheet, so from this perspective it is more practical to specialize on the mirror
16:01:32
jackdaniel
also I thought about the change because I've felt a need to access the mirrored sheet parent in the transformation function
16:01:51
jackdaniel
and then I thought, that it is more practical to see the sheet - backend is provided with more information (it doesn't need to use all of it)
16:02:18
jackdaniel
otoh I don't think that there is any practical benefit from specializing directly on the mirror (because it is easily acquired from the sheet)
16:02:52
jackdaniel
s/it is more practical to specialize on the mirror/it is more practical to specialize on the sheet/
16:04:05
scymtym
it is a matter of convenience in any case. directly passing the mirror would allow specializing on the mirror class with inventing a backend-local PORT-FOO-USING-MIRROR. but as i said, i don't know whether dispatching on the mirror is actually useful anywhere
16:08:54
jackdaniel
we already have different "flavors" of mediums for freetype and ttf, do you mean something in this spirit?
16:13:07
scymtym
i mean if a backend has multiple mirror classes, having the mirror as a parameter in those generic functions allows specializing on the mirror directly (without making a PORT-FOO-USING-MIRROR generic function)
16:13:47
scymtym
and having the protocol consistent one way or the other is also preferable in my view
16:15:48
jackdaniel
OK, now it is a bit clearer to me. I think that the port could define its own methods that specialize on mirror, and simply pass it from the sheet method; and that would be at that port's discretion
16:16:29
scymtym
that's why i said it's a matter of convenience - the mapping between sheets and mirror is bijective after all
16:18:33
jackdaniel
there is nothing in CLIM specification that would mandate port to not reuse the same mirror object
16:19:01
jackdaniel
they are nto correct, they make an assumption that generally is not valid (however for existing backends it works just fine)
16:19:40
jackdaniel
I've removed (in the branch) all these functions and manage the link between a mirror and a sheet manually in the clx backend - other backends did not need it at all
16:22:02
jackdaniel
sure. I want to clean up as much as I can before the guide is written; after it is published it would be awkward to break described interfaces
16:24:11
jackdaniel
(as much as I can from things that are important from the backend perspective that is)