On Sun, Mar 23, 2008 at 10:00:16AM -0500, Peter da Silva wrote: > Twenty years ago I was appalled by the emerging model of GUI > programming, the unwonted intimacies between application and display. > For me, X11's modest attempt at establishing an arm's length distance > between the application and the display should have been only the > beginning, and yet rather than proceeding towards a situation where > the communications channel was more abstract, more "terminal-like", > everything went back the other way until now the whole crufty user > interface lives in the application, with every detail of the windows > and widgets and graphics and gadgets handled in the application's > context. > > ... > > I have had ideas about what a cleaner model might look like. I've > hoped that somewhere in Plan 9 or Layers or NeWS would be a new > metaphor that would save us from the horrors of the GUI event loop. > But nothing ever seems to arise, except in the most remote sense > maybe the complementary hate that is "Web 2.0".
While it does inexcusably lack some vital features (such as being networkable), Win32 is better than X11. At least it provides a standard widget set (actually a small selection of widget sets) which are implemented in system libraries which applications use. Back when I did Win32 I never told my application how to draw a scroll bar or a button, I told it "put a scroll bar here and respond to these events". Actually, I suspect that X11 does the same, but suffers from the problem of programmers not historically being able to be sure that a given widget set would be available everywhere - and what was available was hideously ugly and only barely usable. xterm scrollbars, anyone? Of course, it's still wrong that in Windows (and X11) the code for drawing a widget is in a library that gets linked into the *application* instead of merely being a service made available by the terminal. I'm always puzzled by why the X11 gang did that, when they made fonts a property of the terminal. -- David Cantrell | Nth greatest programmer in the world What a lovely day! Now watch me spoil it for you.