freenode/#clim - IRC Chatlog
Search
10:09:50
ck_
loke: I'm not aware of any (but that doesn't mean much of course). Closest thing I can think of is the constant repainting of interactively drawn things, like in the paint demo
10:10:22
loke
ck_: Yeah, but that runs in a tight loop with a sleep. I need to be able to interact with the UI at the same time.
10:10:49
ck_
hehe, it doesn't work at all right now -- "Attempt to invert the probably singular transformation #<CLIM-INTERNALS::STANDARD-HAIRY-TRANSFORMATION 2 0 0 0 174 83>."
10:14:37
loke
In my case, I'm building some basic animation functionality into cliamxima. When I use it to solve the equiations of motion for a system using the lagrangian, I want to be able to use the result directly and animate what the motion looks like.
10:18:09
scymtym
loke: logic-cube has an example (don't copy that one). stopwatch has an example. RADAR-PANE in gadget-test is an example
10:19:10
scymtym
logic-cube is bad (among other things) because it blocks the event loop while playing the animation
10:36:27
scymtym
loke: around 4:00 this shows how the animated demos interact with "global" double buffering performed by the backend: https://techfak.de/~jmoringe/mcclim-gdi-backend-progress-1.ogv . for the demo, i disabled the "local" double buffering in logic-cube (there his been some more progress since i recorded that video)
10:38:40
loke
I just implemented animation by having a thread that loops, then it regularly calls EXECUTE-FRAME-COMMAND which updates the output records and calls REPAINT-SHEET. The call to EXECUTE-FRAME-COMMAND ensure that the update happens in the main thread.
10:40:31
scymtym
there is a mechanism for receiving timer events. if the thread does nothing else, you could use that instead
10:43:04
loke
scymtym: CLIM-INTERNALS :-) jackdaniel is sure going to love it when climaxima adds even more internal dependencies :-)
10:44:05
scymtym
hm, i just saw that as well. i guess we should either export it as an extension, remove it from the example or replace it with a full animation system
10:44:55
loke
scymtym: Have you had a look at the form input? It's pretty broken these days, which is a huge hassle for climaxima.
10:46:27
scymtym
no, sorry. i'm mostly working on backend and drawing things. but i'm also experiencing unresolved input-related issues
10:47:19
jackdaniel
accepting-values requires heavy refactor, some paving stones has been set for that
10:47:51
loke
Some time ago (a year?) the ability to go back in the form stopped working. If you have a command with two arguments, you can edit the first, then edit the second, but then you can never go back and edit the first one again.
10:48:47
jackdaniel
I think that saying "accepting-values operator is broken" is less ambigous than "input form"
10:48:57
loke
jackdaniel: Do you recall the discussion we had some time ago about the separator character used for inputting multiple arguments? Today, if you have a command that accepts more than one argument, you have a problem if you want to enter a space in the argument.
10:49:31
jackdaniel
it is specified in the spec, when you have spaces, you need to surround whole argument in ""
10:50:20
jackdaniel
write a proposal and we may discuss it; that would require adding new code, not simply ignoring some constraint
10:51:39
loke
Well, the thing is that current behaviour isn't compatible with the spec even. The spec suggests that space should move to the next argument, right? However, right now typing a space will insert a space into the argument and there isn't any way to move to the next.
10:51:40
jackdaniel
scymtym: if I understand correctly, loke argues that delimiter gestures should be ignored, but I don't get how that would work in broader picture
10:52:05
scymtym
so for a command that takes two required arguments, when i type the command name, type the first argument, type the second argument, should i be able to move the cursor to the first argument and edit it? or delete the second argument to get to the first?
10:52:08
loke
I'd like to suggest using TAB to move to the next argument. This would be consistent with modern UI's as well.
10:52:55
scymtym
or are we talking about the case when a translator for a two-argument command is invoked and an accepting values "mini dialog" is inserted into the interactor?
10:54:04
jackdaniel
while I agree that accepting-values operator has some serious flaws (and it requires rewriting), command line parsing isn't that bad
10:54:07
scymtym
loke: in the second case (accepting values), is it only navigation to the first argument via the keyboard that isn't working or can't you event click it?
10:54:10
loke
It's just that I have added a bbunch of new climaxima features recently that uses this stuff a lot, so I have personally felt the pain. And the issue is that a user with limited experience with mcclim is going to have a terrible time with this.
10:59:57
scymtym
i tried the accepting values test and invoking the "german towns" command that takes two arguments via the translator. graphical glitches aside, switching between arguments and editing arguments seems to work
11:04:10
loke
scymtym: Would you mind runnign that command and try the "Foo" command to see if the same thing happens to you?
11:04:58
scymtym
loke: i don't have ADD-RECORDING but it seems only the FOO command is required, right?
11:07:45
scymtym
but i don't see the problem. i invoked FOO from the menu. that causes an accepting values "mini dialog" to be displayed in the interactor
11:08:10
scymtym
the dialog has two arguments and i can switch between them and edit freely before submitting the command
11:10:19
scymtym
i see. in that case, i can edit the arguments once but trying to switch back to the first arguments makes both immutable
12:43:52
jackdaniel
scymtym: do you think that top-level-sheet-mixin should have default initargs for the name, the pretty name and the icon? i.e 'top-level "(unnamed sheet)" and nil
13:01:08
scymtym
jackdaniel: it seems that, depending on the use of the mixin, different defaults (or lack of those) are appropriate. so i would put those defaults into a STANDALONE-TOPLEVEL-SHEET class or similar, assuming that is the use case
13:10:59
jackdaniel
defaulting to (alexandria:required-arg :foo) would be better, if we don't want to provide default values
14:02:12
scymtym
i meant defaults that are definitely immediately replaced, as is the case when the sheet is the t-l-s of a frame, wouldn't make sense and could be confusing