I'm working in Lisp/CLX, but the problem I have is a general X problem
so I thought I would bring it up here.... I'm trying to build a
listbox widget. This is a simple window with rows of child windows
placed down it's face. It's not a difficult problem and I have it
working. However.... Whenever I add a new item to the listbox it
seems to repaint all the previous items. What is apparently
happening is that each new item added to the listbox causes an expose
to be fired, which causes each row to be redrawn. You can see it
shaking itself as it draws until it finally settles down and stops.


I'm evidently missing something when it comes to handling events.
What I would like to see happen is the listbox frame drawn once and
each item drawn once. How is this accomplished? Is the problem
with the event mask? I've seen systems where the widgets were created
as pixmaps and then the pixmap exposed. Is this the approach to
take?

One key element of my system is that the parent is drawn before the
child (due to my layout manager design). Is this the problem?

Can anyone offer suggestions on how to achieve a nice quiet Listbox (or
any other multiple window widget for that matter).....

Bill