gnustep-dev
[Top][All Lists]
Advanced

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

Re: Window manager interaction


From: Sheldon Gill
Subject: Re: Window manager interaction
Date: Sun, 18 Oct 2009 12:31:58 +0800


On 18/10/2009, at 02:45 , Richard Frith-Macdonald wrote:


On 17 Oct 2009, at 12:04, Philippe Roussel wrote:

On Sat, Oct 17, 2009 at 07:02:12AM +0100, Richard Frith-Macdonald wrote:
It sounds reasonable to allow interface style to control that sort of
thing, and the behavior you suggest makes sense for a windows app.

Just for the record, I like the vertical menus :o)

Anyway ... see what you think of the change to allow unhide by showing
<snip>
miniaturised windows (eg in a task bar).

It works for me (under Metacity), thanks Richard ! I think this is a
big step for better integration. I would prefer something to appear in
the task bar instead (so demanding...) of the appicon but it's a start.

<snip>
One option might be to scrap the backend miniaturisation/deminiaturisation API entirely, and have the frontend strictly implement that  using the window/miniwindow counterpart pairing.  So to miniaturise a window, we order in the counterpart miniwindow (implicitly ordering the main window out), and to deminiaturise the window, we order it in (implicitly ordering the miniwindow out), and let the backend decide what it's going to do about the way it displays that on-screen.
In the case where we don't have real counterpart miniwindows because the window manager is actually just putting labels on a taskbar, i guess the backend could provide some sort of dummy placeholder.

Anyway .. that's just an idea ... don't know how much it would really help simplify things.

Actually, I think it would simplify things a great deal if we dropped the miniwindow entirely.

I believe the fundamental problem here is one of design and the flaw is trying to get -gui to handle miniwindows. For any compatibility desktop we want to consider (GNOME, KDE, MS-WIN...) the answer is conceptually straight-forward:
  a window sets its state to whatever, including MAXIMIZED, ICONIFIED/MINIMISED
  the desktop environment does the display

So what -gui should be doing is just that, setting the window state appropriately and letting the backend translate that into the desktop environment.

The architecture is supposed to go like this:

The application handles it's windows and draw in them/etc.  This is -gui & -back.

The window manager decorates the windows and provides the mechanisms for users to interact with them. (Move them around, re-layer, pin, show/hide, whatever)

The application manager (pager) handles launching applications, showing what is running and switching between them. This is the taskbar / kicker / fiend / dock thing.  This is the thing which would be displaying miniwindows for those desktop environments where its appropriate.

It seems to me that we're trying to get -gui/back to sometimes be a window manager and sometimes be an application manager and getting (understandably) very confused.


Regards,
Sheldon


Checked for Virus & Spam by West Australian Networks Internet Service Providers see www.westnet.net.au

reply via email to

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