[ltk-user] Just one frame?

Johnny Zackrisson jz at student.chalmers.se
Fri Apr 27 12:38:33 UTC 2007


> Things become much clearer now :). with-ltk is thought for applications
> which should run as one application, but not for tinkering in the REPL,
> so just do the start-wish and none of the with-ltk's. Then you can do
> exactly as you want. If you want events processed, just call mainloop
> from the repl and break and exit it (without quitting wish) to return to
> the REPL. Alternatively, keep calling (process-events) which directly
> returns after processing all pending events.

Bingo! You nailed it there. It wasn't at first clear to me how I should
send objects to Tk, and then I realized that all I had to do was to call
pack. :)

The "Running it manually" part of the documentation sort of tells you this,
but not explicitly how such behvaiour is to be invoked. Perhaps you should
add a comment that you just call pack for sending objects?


> Well, if your lisp has threads, spawn mainloop in a thread. Or use
> serve-event. But with threads a word of caution: LTk hasn't been
> stress-tested with respect to multi-threading yet (proper threading
> support is still in the planning phase), so use it at you own risk :)

Oh, how.. simple. :)


> That is easy to do with LTk as it is: just get the code from the Tk
> entry widget,
> read and eval it, and output the result to the Tk GUI. However, it might
> be a
> good idea to run the GUI in a different process than the lisp code to
> execute,
> as when the lisp process locks up, or enters the debugger, the GUI still
> runs
> happily...

Ah.. I will work on this later on, and perhaps post an example. :)

I'm starting to see the light here. I guess I'm looking at GUI programming
from a network programmers perspective. I would imagine keeping the repl
intact and interactive would be /essential/ for dynamic GUI programming,
let alone rapid prototyping, debugging and whatnot.
I suppose most people have simple, very easy designed GUI's with pretty
much static behaviour, in which case you can just wrap it all up around a
with-ltk call and be done with the GUI part.

Another question, LTK is said to be just fine as long as you do not need
high-performance. How do you define high-performance in this context? Is
a CAD application a high-performance application? Is realtime stock trading
curves high-performance? Or are we talking about the obvious; FPS game with
intense graphics?

Thanks a bunch Peter, I think we've sorted out my problems by now. :)

--
Johnny Zackrisson, Gothenburg, Sweden.









More information about the ltk-user mailing list