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
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev