[ltk-user] Socket problem....

Kenny Tilton ktilton at nyc.rr.com
Thu Feb 9 19:36:15 UTC 2006


I do not see the preceding message I sent, so here it is (and more news 
below):

> I just managed to introduce some bug. No idea where to look, thought 
> someone strong on sockets/streams might have an idea.
>
> All my writes to Tk go thru this for debugging purposes. I can 
> enable/disable/when-icize the write to standard output.
>
> (defun tk-send (fmt$ &rest args)
>  "send a string to wish"
>  (let ((text (apply 'format nil fmt$ args)))
>    (format t "~A~%" text)
>    (format (wish-stream *wish*) "~A~%" text)
>    ))
>
> Now my test window does not come up without the trace. The window 
> appears but no widgets, and the window is unresponsive. I have to have 
> the Windows task manager kill it.
>
> Is this an easy "oh, I know what that is..." for anyone? 

Then came.....

> by the way, merely using TRACE to see how far I am getting before 
> hanging is enough to make things work. (I will try a counter <g>)
>
> Also, adding force-output does not help.


And now....


As expected, all sends are the same (using a counter to count them). But 
this makes everything work:

Instead of "wm withdraw ." I do "wm iconify ."

The idea of doing either is to keep the user from having to watch Tk 
assemble the window widget by widget. Looks funny, feels slow. My 
Cells-driven approach does not think about when to do things, so it just 
shoots ideas over to Tk as it thinks of them. :) I could work on that, 
but beginning with a withdraw or iconify and then ending with deiconify 
looked like a quick win. Someone on the TCL list told me iconfiy might 
put an icon on the desktop and to use withdraw instead.

Maybe I should just hold off on the PACK of the top widget(s) in a 
window until everyone else is packed (the other way to handle creeping 
widget assembly).

Thoughts?

kt



More information about the ltk-user mailing list