Secondlife:// URL scheme
This wiki page answers the question, "How does the secondlife:// URL scheme work?"
For details on special secondlife:///app/ URLs that control the user interface for login and search, see Viewer URI Name Space
Windows
The Second Life client utilizes the windows registry to tell the browser which application to launch when it sees secondlife:// as the prefix to a URL. During installation of the client, if the channel is "Second Life Release" (the default channel for the client) and the grid the client is installed for is "agni", the register entry is replaced with the path to the executable. The register entry states that whenever a browser sees secondlife:// that particular installation of the Second Life client is invoked with the arguments -url <URL>.
No Client is Running
When there is no client already running, the executed client will parse the -url argument and execute according to how it is parsed.
There is already a Client Running
The client looks to see if any applications running with the class name (specific to windows) "Second Life" is up. If so, it serializes the <URL> and sends it across the other client.
Macintosh
The Mac client registers a GURL handler as soon as the Second Life Application is dragged from another volume onto your startup volume.
No Client is Running
That client will be launched and its GURL handler will handle the GURL event issued by the operating system.
There is already a Client Running and it's the GURL Client
The client will handle the GURL event
There is already a Client Running and it's *not* the GURL Client
The GURL client will be launched and it will fail with the message "Another instance of Second Life is running."
Linux
Coming soon!