> MUI used a mechanism whereby you did something like (Ruby pseudo code follows)
> 
> 	p = Panel.new(
> 		Button.new( "Hey, world!" ), ALIGN_LEFT, MORE_CONSTRAINTS, #...
> 		Panel.new(
> 			Slider.new( 0, 10, 5 ), SOME_CONSTRAINTS, #...
> 			Checkbox.new( "Label" ), CONSTRAINTS, #...
> 		),
> 		login_panel, CONSTRAINTS
> 	)

This reminds me a bit of Rebol, and Rebol is made by, if I'm not mistaken,
the Amiga kernel programmer... Maybe that's the new MUI?

> I'm not sure this would work in Ruby, because the callbacks would have to fit 
> in there and would mess up the tree; I did, however, like the fact that GUIs 

What did MUI do then? It must somehow attach some functionality to the
widgets...

... layout engine
> a couple of constraints to get what you wanted.  I'm very tempted to try to 
> find the original MUI author, and ask him for his help in this.

Why not try mailing the Rebol person, I'm interested too <:) I think I'll
do some brainstorming the following days to see if I can think up any
logic that will do default formatting.

> Aside from that, I love Swing :-)

Well, "that" made me decide that I'll just put together my very own GUI,
also after reading the previous mail with the reference to that
wiki-article. It sounds like Swing is not only carrying AWT's corpse, but
that it has been heavily kludged through time too. I certainly don't want
to start with converting a messy GUI! There's not too much harm in digging
through the docs for "ideas" though, so the outcome won't be much
different from it.

> > Yes, I wonder if I can find the border between... WM and TK? in Swing.
> I agree; Swing is a good start, because you a lot more for you buck than with 
> many other GUI toolkits.  The downsides including, of course, that the Swing 
> API is huge, that Swing is slow, and that Swing consumes a lot of memory.  
> Converting Swing to C and then adding Ruby hooks might be a better way to go.

I once tried converting the AWT to c++ and that was such a disaster
(especially because it depends so much on garbage collection) that the
thought of converting it to c couldn't be further from my mind.

Hmmm, this discussion about a general GUI really needs a goal. That
is: find the categories that make up a GUI, like:

Widgets
Event handling
Talking to the OS

and some ways to do them, and what would be good or bad. Thank you for
your long mail by the way <:)

Bye!