[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 <jhclouse@charter.net> wrote:
[snip]
> 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.
Yen-Ju
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> http://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
- Re: [ANN] Azalea preview, (continued)
- Re: [ANN] Azalea preview, Jonathan Isom, 2006/04/24
- Re: [ANN] Azalea preview, Yen-Ju Chen, 2006/04/25
- Re: [ANN] Azalea preview, Jonathan Isom, 2006/04/25
- Re: [ANN] Azalea preview, Yen-Ju Chen, 2006/04/25
- Re: [ANN] Azalea preview, Yen-Ju Chen, 2006/04/26
- Re: [ANN] Azalea preview, Quentin Mathé, 2006/04/26
- Re: [ANN] Azalea preview, Yen-Ju Chen, 2006/04/26
- Re: [ANN] Azalea preview, Yen-Ju Chen, 2006/04/26
Re: [ANN] Azalea preview, Jason Clouse, 2006/04/25
Re: [ANN] Azalea preview, Gregory John Casamento, 2006/04/26