[Top][All Lists]

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

Re: [ANN] Azalea preview

From: Yen-Ju Chen
Subject: Re: [ANN] Azalea preview
Date: Tue, 25 Apr 2006 12:06:23 -0700

On 4/25/06, Jason Clouse <address@hidden> wrote:
> Otherwise, I like it.  A direction that might be fruitful is to start
> stealing code from Compiz.  It provides some nice Xgl eye-candy and
> Expose-style features.

  Here is the direction I have now:
  I intend to keep the trunk/ as stable as possible.
  So probably only bug-fixing will go into trunk/
  All the experimental stuffs will be in /branches/AzaleaAppKit.
  There are several improvements in my minds (see below).
  It is much easier for me to port than to write something.
  I usually have many short time available, 20 min here and 5 min there.
  So I can foresee those improvements will be quite slow.
  But overall, Azalea provides a basis for someone who wants to play with
  window manager. I guess many people are actually trying to do that.

  These are the improvements in my mind:

  1.  Use GSXML instead of libxml.
       It will be one-to-one porting. Azalea read XML into DOM.
       Currently, GNUstep supports SAX in NSXMLParser
       and DOM in GSXML.
       So if someday someone wrap the GSXML into NS* class as in Cocoa,
       we may need to rewrite again.
       But since Azalea is only used on GNUstep, not Cocoa,
       it may not be necessary.
       The XML is related to user defaults.
       So the other option is to use NSUserDefaults instead of xml.
       Most of them will work easily.
       But something like key-binding, mouse-binding, menu and session state
       are more complicated than what we usually have in user defaults.
       So these stuff need to be figured out.
       Theme is writtein in X reousrces, which is another thing to think about.

  There are 3 major user interfaces in Azalea.
  The plan is to use NSWindow for them.
  If it works, all the drawing will be handled by backend.
  So if GNUstep backend supports Xgl stuff, it will be available for Azalea.
  There are 3 levels or difficulties for user interfaces.

  2. PopUp, the windows when you resize window, switch focus (Alt-Tab),
      and switch workspace (Ctrl-Alt-Left and -Right).
      There is no user interaction on these windows.
      They just show up and disappear.
      That's the easiest one. Just be careful about stacking.
      Expose-style stuff are here.
      I prefer to add some simple user interaction here, like mouse clicking.

  3. Menu.
      A lot of user interactions are involved. So GNUstep event handling
      has to be incorporated. Or we can just use NSMenu instead.
      And if Azalea will be a minimal window manager like metacity,
      the only menu it will need is the menu showing up when user
      click the icon on the window title bar.
      And the only reason there must be a menu there
      is because user want to move window across workspaces.
      This can also be done with key-binding.
      So if we can figure out a way to move windows across
      workspaces without menu,
      then there is no reason to have menu system in Azalea.

  4. Window decorations.
      Not only user interface is involved. the NSWindow need to be
      reparent into the window frame. So it would be tricky at low-level.

  That's pretty much in my mind.
  Welcome to poke around.


> _______________________________________________
> Discuss-gnustep mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/discuss-gnustep

reply via email to

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