frank.hale@xxxxxxxxxxx <frank.hale@xxxxxxxxxxx> wrote: > > > I've just been looking at my (very minimilistic and yet to handle an > > event) code base > > So Brett you are writing a window manager from scratch as well? What > does ObjC give you that ordinary C cannot give you besides a notion of > object orientedness? The syntax is absolutely revolting. What is going > to separate your WM from any other WM out there? What features do you > find the current stock of WM's lacking? Not entirely, taking the general code base from the C++ code for jewel (and so its ideals) and slowly making it more OO, easier to replace bits, and much cleaner. Although the base currently looks *NOTHING* like the jewel base, its because I've been randomly rethinking the core whilst going through. The jewel C++ tree has become hideous, so tidying the bits that look nasty with neater methods. Of course, the obvious advantages of ObjC is a full set of widgets (if I can seperate them out) and a nice GC, it actually does clean up after itself, so the only bits I've gotta be careful with is the bits I use Xlib for (like querying windows, restacking, etc) which should generally be small enough chunks that anyone can follow it. So, the general reasons to recap are: - C++ is an ugly language, that doesn't really promote an objective view on the code, but instead gets a large nasty looking mess of C and C++ - ObjC actually has a reasonable amount of built in extensibility, especially in its message passing, this means that I can, infact, build it very modularly, and could, infact, harvest the event handling out to other modules, say a keyboard module, a mouse module, and an events module. And, of course, as there should be interfaces for these, they could then be easily replaced with other code. Of course, there's also now 3 different Desktop Environments to think about, and a whole host of new atoms etc, there's the GNUstep lot, the KDE lot and the GNOME lot, so, using the extensibility of ObjC I *SHOULD* be able to easily build extension modules as long as the core is right. As for what's missing from current window managers, hrm, as there's a whole plethora of window managers out there, and I've by no means tested them all, I can't say exactly what I find wrong with them all - but, so far in my experience, there's no real light window manager with all the functionality I want, and the larger ones are stupidly slow on my poor little K6/2 500 box. So, basically, I'm building a fairly much modular window manager (starting on it not being modular, but that's because it makes life easier for me, and adding that in later, which if I get the structure of the core right, should be simple). Of course, the other things that I'm tempted to make modular are window decorations (or rather, the entire parent windows we generate when swallowing mapped apps). Right - that's me for now, I'm orf out to watch the Matrix Reloaded :) -- Brett - not signing this time cos it just gets fux0red by ecartis.