gnustep-dev
[Top][All Lists]
Advanced

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

Re: Graceful termination again


From: Sheldon Gill
Subject: Re: Graceful termination again
Date: Tue, 24 Jan 2006 08:32:13 +0800
User-agent: Thunderbird 1.5 (Windows/20051201)

Richard Frith-Macdonald wrote:
On 23 Jan 2006, at 21:36, David Ayers wrote:
Richard Frith-Macdonald schrieb:

We could finish getting the NSWorkspace class to do what it was
originally designed to do ... provide the list of launched apps as
supplied by the workspace manager.  That would be a small  modification
to NSWorkspace and to GWorkspace.  However, we would  want some fallback
option for if/when GWorkspace is not running.   Perhaps a minimal
workspace manager daemon, or perhaps NSWorkspace  could write to a small
database (eg a plist file in a temporary  directory) to maintain the
state information.  The latter has the  advantages of not requiring an
additional daemon to run (I have no  problem with daemons, but I know
many people have objections to them)  and is persistent if the workspace
manager is restarted (we need  that).  The former has the advantages
that it would provide a testbed  and reference implementation for
workspace managers.  I suppose we  could do both.

For what its worth, I think the current approach within -core is right. Minimal NSWorkspace. Keep it lean.

The functionality should be implemented by the desktop shell. That'd be:
- GWorkspace/WindowMaker for most
- For KDE, there'll need to be a different implementation
- Win32 needs to talk to the Shell (Explorer)

For KDE & Win32 there is no need for another daemon as there already is one running.

I'm pretty sure there is a GNOMEish solution, too.

I could very well be missing something obvious but I seems to me that
gdnc would be a good candidate to provide this service.

If we want to put the functionality into an existing daemon, I think gpbs would be the best option, as it is part of the gui/back libraries (ie related to applications) while gdnc provides a service for the base library.

I really think the functionality shouldn't be incorporated into either daemon but left for a real NSWorkspace implementation appropriate for the particular running desktop.

However, if we want to provide a reference implementation that developers of workspace managers can look at, I think a standalone process would be better than attaching the functionality to an existing daemon... and if we don't want to do that, my preference would be not to bother at all ... just use an on-disk database of the information we need, and modify GWorkspace as our standard workspace manager.

A reference/sample implementation is definitely a good idea.
I also agree that modifying GWorkspace is the right way...


Regards,
Sheldon




reply via email to

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