On passing a url to an application

Most operating systems allow you to run applications with commandline parameters:
mozilla http://www.mozilla.org
Windows offers an alternative method of passing information/commands/requests called DDE (Dynamic Data Exchange):
Application:NSShell
Topic:WWW_OpenURL
content:http://www.mozilla.org
MacOS offers AppleScript:
tell mozilla
OpenURL http://www.mozilla.org
end tell

Netscape for X11 introduced x-remote which uses x properties to send messages

netscape -remote 'openURL(http://www.mozilla.org)'

BeOS has BMessages, but BeZilla doesn't support them ...

Ok, so each platform has some way to allow an external program to tell a browser to open a url.

Why is this interesting?

Well, at some point there were two ways that a url could be handled, opening it i the same window, or opening it in a new window.

Advanced users think that the x-remote and commandline flags are there so that they as users can control how mozilla behaves, but is that really what happens?

The DDE version is obviously used by Applications, not users. The commandline and X11 versions will frequently be used by programs on behalf of users.

Now suppose that you're using a computer running windows 98 which has 3 mozilla profiles (you share the computer with your significant other and a roommate). Suppose that you have 20 programs that might want to help you open urls:

Oh, and don't forget the internal non browser apps (mail, irc, jsdebugger)

Today, many of those programs probably have their own setting which controls which browser they run and how they run it. Perhaps some programs don't let you configure it, and perhaps some actually honor a system preference. But then the fun is which system preference do they honor, there are so many to choose:

Now let's get back to how you use your computer... Read On...