On 5/18/06, Nicolas Roard <[EMAIL PROTECTED]> wrote:
On 5/18/06, Yen-Ju Chen <[EMAIL PROTECTED]> wrote:
> I am still thinking about how to put everything in together.
> Probably an WMServer talks to x window directly and provide all the
> low-level methods.
> WMScreen and WMWindow use this WMServer to access x window.
> WMServer and WMScreen are subclasses of NSObject
> and WMWindow is subclass of NSWindow.
>
> Comment ?
I think I would prefer specific classes vs extending NSWindow et al...
to clearly show that we are outside OpenStep/Cocoa when using them.
Now this or these specific classes could either talk directly to X11
(on X11) to do their job or call a WMServer via DO.. I think for X11
it's better to talk directly to X11, eg WMScreen/WMServer would be a
class cluster with specific implementation (one for X11, another for
MS Windows, etc.).
Though, I'm not sure we need WMScreen/WMServer/WMWindow -- a single
class "WindowManager" would be enough, containing -numberOfDesktop,
setWindow:onScreen: , etc. (I mean, a single class on the "user"
(developer) side of the things... obviously we'll have other utilities
classes)
A single class is fine. It is just a C-to-ObjC translation of x
window functions.
But why not to be more object-oriented ?
The bottom line is that WMServer will provide all the low-level methods,
which will serve what you mentioned above.
WMWindow and WMScreen provides more simple methods to change
window and screen (mostly workspace) properties.
And GNUstep is abstract from backend already.
That's why we need a WindowManagerKit to access x window now. :)
If we add another layer of abstract, it is just redundant in my own opinions.
Yen-Ju
--
Nicolas Roard
"I love deadlines. I like the whooshing sound they make as they fly
by." -- Douglas Adams
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev