Re: [gtk-list] GTK for Win32




I have been thinking about the feasability of porting GTK to Win32, and it
seems to me the easiest thing would be to write an X server that runs over
Win 32 (one that uses the Windows window manager in lieu of running an X
window manager).  The advantage of this is that you don't have to mess
around with the client side too much, but just use it as a
graphics terminal.  Then you don't have to support two different ways of
doing things -- the Unix way, and the Windows way (the registry, .ICO
files, etc.).  Since Windows already provides a lot of drivers, including
drivers for OpenGL, the work of writing an X server would not be too
arduous.  Since a lot of people would be interested in such a thing, you
wouldn't have much trouble finding people who would take the maintenence
of it off your hands.

The alternative would be to port GTK itself as a kind of substitute for
MFC.  You could just port GDK (the Gimp Drawing Kit) which is a wrapper
for X windows.  It hides some things better from the programmer better
than X itself does (like whether you are using "exotic" input devices like
joysticks), but it's not so different from X windows that it would be that
different from writing an X server.

I'm sure the key thing would be avoiding the work of rewriting every
widget yourself.  If writing an X server doesn't seem like the way to go,
then the most logical thing would be to design a better abstraction layer
than GDK, one not so close to X.  There are perhaps even other good
reasons for this, such as the prospect of someday using the other
windowing systems people are designing, like Berlin or Y.  Maybe there's a
design out there that would even make widget-writing over X easier.  But
this is something you'd probably need to sell to the GTK powers-that-be
(of which I am not one).

If you are interested in porting GTK, one place to look for models would
be the port of Tcl/Tk to Win32.

Walt




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]