modula3 / cm3

Critical Mass Modula-3
http://modula3.github.io/cm3/
Other
138 stars 25 forks source link

Update Trestle GUI toolkit to meet modern real life requirements #1121

Open ghost opened 1 year ago

ghost commented 1 year ago

Long story short: too ugly and lacking of many controls and support for many modern concepts and techniques in GUI development, looks kinda like Windows 95 or a bastardized version of FLTK that too ugly and primitive compared to FLTK.

norayr commented 1 year ago

looks kinda like Windows 95 or a bastardized version of FLTK that too ugly and primitive compared to FLTK.

that get's me very interested in the toolkit! if the toolkit works on today's systems, it is very interesting to try it and to draw interfaces with it. (: it might look very cool!

mikanystrom commented 1 year ago

Trestle is kinda cool, works well. There is a report about it. Actually several.

https://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-68.pdf

https://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-69.pdf

You can get an impression of it by running "mentor" or "tetris".

I suppose Trestle was pretty par-for-the-course for the early 90s. Not as slick as Motif but much prettier than Athena widgets.

It's important to remember, though, that the point of Trestle wasn't to "look pretty" but to be a research testbed for a highly multithreaded windowing environment. Its real purpose is to allow slow GUI applications to run faster on workstations with a moderate number of slow CPUs. The machines at SRC at the time were, if my memory serves me right, configured with 8 microVAX CPUs.

I was in college around the same time, and we ran Motif on single-processor microVAX and VAXstation 2000s, and CPU requirements for running a GUI environment would bring those things to their knees. RISC kind of made the whole thing pointless, and today you can run those GUIs on a smart watch if you want to, without any performance problems.

So it's historically interesting and undoubtedly cool, but basically Trestle is an extremely overengineered package to be used as a regular GUI. It doesn't require much code though from the user, much less than normal X programming, but probably comparable to the stuff that's available today. I don't do much GUI programming so I can't really tell you more.

Now if you happen to have a very slow shared-memory multiprocessor lying around and you really want to run GUIs off it, Trestle is your thing!

norayr commented 1 year ago

Now if you happen to have a very slow shared-memory multiprocessor lying around and you really want to run GUIs off it, Trestle is your thing!

@mikanystrom thank you so much for the explanation and provided documents!

toolkit that works on such a slow cpu motivates me to try it!

ghost commented 1 year ago

Now if you happen to have a very slow shared-memory multiprocessor lying around and you really want to run GUIs off it, Trestle is your thing!

@mikanystrom thank you so much for the explanation and provided documents!

toolkit that works on such a slow cpu motivates me to try it!

Don't feel disappointed after you tried it!

jaykrell commented 1 year ago

The Trestle papers seem pretty deep in terms of architecture of a Window manager, GUI toolkit, etc.