[Cuis-dev] WindowManager package

Mariano Montone marianomontone at gmail.com
Tue Mar 11 04:10:50 PDT 2025


Hi Luciano,

El 11/3/25 a las 07:25, Luciano Notarfrancesco escribió:
> Cool, thanks Mariano. I’ve been playing with it, and I have some 
> comments and questions. In my opinion it could be simpler, perhaps 
> only the class SystemWindowDecoration (but I would call it just 
> SystemWindow or DecoratedSystemWindow), and maybe a simpler superclass 
> that we can subclass to create our favorite look and feel for windows. 
> And the hierarchy of application morphs, that I would just call 
> “windows” to keep the current class names (they are all called *Window)..
I agree.
> perhaps ApplicationMorph could be called ApplicationWindow?
That's an option. But I liked Morph instead of Windows because the tools 
(Browser, Inspector) are not "windows" anymore :) But preserving the 
"Window" in the class name also makes sense.
> Also, why not make it subclass of PluggableMorph as other morphs with 
> model? And do we really need this class, or we could just make them 
> subclass of PluggableMorph?
I'll try it. The reason of to make it subclass of LayoutMorph and not 
PluggableMorph is because SystemWindow interface are all built on a 
layoutMorph (instance variable and class). And so I subclassed from 
LayoutMorph and added some extra methods in ApplicationMorph. But I'll 
consider doing it as you suggest .
>
> Also, the WindowManager class seems unnecessary to me, I think all 
> that it does could be implemented on the class side of the decorated 
> windows (open:, open:label:), or on the instance side of the 
> application windows (open, openWithLabel:), and the class of system 
> window to use can be set in a class variable.

Ok. That's another option. Note that although it is a very simple at the 
moment, my thought is that the WindowManager not only handles the type 
of WindowDecoration to open, but also position (let's say you want a 
tiling window manager), size, etc. And so I thought it would be nice to 
have a WindowManager to delegate everything window managing related.

Let me try another version. I'll upload image when I have it.

             Mariano



More information about the Cuis-dev mailing list