Set the preference
user_pref("network.protocol-handler.app.http", "/usr/local/bin/firefox-helper.sh");
and point it at the MozillaFirefoxStartupScript? or whatever your distribution uses natively.
Here's the launcher script I use to start Thunderbird (installed from .tar.gz) in my Linux Mandrake 10.0. This script uses existing Thunderbird process if possible or launches a new one if needed. This script prints "./mozilla-xremote-client: Error: Failed to find a running server." in the terminal if no old process is running. I don't like the 'ping()' trick used in the MozillaFirefoxStartupScript? because it slows down the process. Instead I just try to use the remote and if it fails, I fall back to normal behavior.
#!/bin/bash2
# Make this script really quiet:
#exec &>/dev/null
# use UTF-8 environment
# change "fi_FI" to language code you prefer.
# for possible options "locale -a | grep UTF-8"
export LC_TIME=fi_FI.UTF-8
export LC_MONETARY=fi_FI.UTF-8
export LC_CTYPE=fi_FI.UTF-8
# executable name
mozexe="thunderbird"
# application name to use with remote, note the capital T in the start!
appname="Thunderbird"
# installation directory (just "tar zvfx package.tar.gz")
mozdir="/system/apps/mozilla-thunderbird/current"
# x-remote binary name
remote="mozilla-xremote-client"
# use lesser priority for Thunderbird, it likes to eat CPU
exec="exec nice "
pwd="$(pwd)"
# Change to Thunderbird install dir:
cd "$mozdir"
if [ "$1" != "" ]; then
# FIXME remove "mailto:" from $1 if it's there
./$remote -a $appname "mailto($@)" || $exec ./$mozexe "mailto:$@" &
else
./$remote -a $appname "xfeDoCommand(openInbox)" || $exec ./$mozexe &
fi
# make sure that Mozilla doesn't die if current terminal is killed, bash2 feature
disown -a
# disown -h
2 pages link to MozillaThunderbirdNotes:
lib/main.php:944: Notice: PageInfo: Cannot find action page