[Top][All Lists]

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

Re: StepBox v1.2

From: copal
Subject: Re: StepBox v1.2
Date: Tue, 28 Oct 2003 18:29:25 -0600

allow me to re-phrase: been there, done that. IWM started as an objc rewrite of aewm. then i scratched that and started an objc rewrite of sapphire. scratched that. then blackbox. scratched that. then i went back to aewm and grew IWM from there, with a more objc style design. perhaps not the best design to start with, but it's morphed into something bordering on sane in my opinion (after seeing what objc code can become when it's done poorly).

the scheme is simple if you take time to weed through the code:

        1. IWMWindowManager : the window manager itself
                - deals with X events
                - deals with Notifications
                - maintains NSArray of IWMScreen objects
                - maintains NSArray of IWMClient objects

        2. IWMWindow : the IWM window object
                - the abstracted X Window
                - maintains images for the window (see IWMGraphics)

        2. IWMScreen : the representation of a single display
                - maintains a Root window
                - maintains Cursors, Fonts, Colors, GCs for the Root window
- contains a single IWMTheme (to allow virtual desktops w/ different themes)

        3. IWMClient : the client window
                - maintains all subwindows of a client
                        - parent window
                        - application window
                        - IWMTitlebar (contains buttons)
                        - IWMResizebar (contains left/right resize grips)

        4. IWMIcon : application icon
- icon for an application, allows selection of a client, shows hidden client windows

        5. IWMGraphics lib : abstracted graphics routines
                - IWMImage (IWM wrapper around an IWMCoreImage)
- IWMCoreImage (wrapper for whatever graphics lib we choose, currently libwraster)

        6. IWMCoreUtilities : wrappers around X primitives
                - helps remove any X calls from the brunt of the code base      
- ian

On Oct 27, 2003, at 9:03 PM, Yen-Ju Chen wrote:

From: copal <address@hidden>
To: "Yen-Ju Chen" <address@hidden>
CC: address@hidden
Subject: Re: StepBox v1.2
Date: Mon, 27 Oct 2003 18:26:48 -0600

have either of you looked at the source for interface?

 Actually not.
 I started StepBox because I met some focus problem
 and I know it may relate to window manager.
 After InterfaceWM failed to run on my system (I didn't try hard),
 I think it will be faster to have a GNUstep-aware window manager
 by porting an existing one rather than writing a new one.
 Therefore I didn't spend time on the InterfaceWM source code.
 Rewritting hackedbox from C++ takes about two weeks,
 and another two weeks to make it run.
 (should be faster for people who are familiar with C++).
 It's not perfect, but as least I have something to use and work on.
 It's small, and can be smaller.
I think the core part (XEvent handling) could be a reference for others.


Cheer a special someone with a fun Halloween eCard from American Greetings! Go to http://www.msn.americangreetings.com/index_msn.pd?source=msne134

Discuss-gnustep mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]