discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Application roles


From: Uli Kusterer
Subject: Re: Application roles
Date: Mon, 16 Feb 2004 08:45:59 +0100
User-agent: MT-NewsWatcher/3.3b1 (PPC Mac OS X)

In article <mailman.2436.1076871907.928.discuss-gnustep@gnu.org>,
 nicolas@roard.com wrote:

> Well, in fact I think the user should have the possiblity to display either 
> the
> application name, or the role, or both.. plus of course add the role name in 
> the
> workspace inspector.

 Could that be specified on a per-file basis? Like Cocoa apps remember 
the "hide filename extension" setting on a per-file basis? That way, a 
web designer could choose to have all applications display just their 
roles, except for the web browsers for testing, for which he'd like to 
only see the names (after all, a web designer understands Mozilla, 
Firebird and Safari intuitively).

> Yes, that's an idea which is really interesting ... basically, we could have
> some defined methods for a role, that an application using that role should
> implement (eg, openMailWithContent:, openUrl:, things like that)
> The big advantage is then that a user could transparently swap applications 
> as
> long as they correctly implement the roles functions.

 Apple had something vaguely similar (but apparently they recently 
dropped it). It was a third-party-extension they moved into the OS 
called "Internet Config" that allowed specifying the default helper 
applications for various network schemes (http, nntp, ftp, mailto) and 
some more stuff.

 However, Apple also has "roles" separate from that ("Viewer" and 
"Editor" right now), though I don't think the OS actually uses them for 
anything right now. So, I'm not sure one would want to combine these two 
concepts.

 Maybe you could have some sort of "protocols" for applications instead? 
A protocol gets a unique name (e.g. "GSWebBrowserProtocol" or 
"org.gnu.gnustep.protocols.webbrowser", which in turn has a localized 
display name "Web Browser" associated with it, and a protocol that the 
NSApplication must conform to), and then there would be NSWorkspace 
functions to set a default application for that protocol, or to look up 
the default application for this protocol, or to get a list of all apps 
conforming to the protocol (to stick with my example: For a "preview in 
browser" menu).

 Then you'd add a "GSProtocol" key to the info.plist of the application 
that is either a single NSString or an NSArray of NSStrings designating 
all supported protocols.

 Does that make sense?

Cheers,
-- Uli
http://www.zathras.de


reply via email to

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