]>
Commit | Line | Data |
---|---|---|
763f73fd | 1 | #!/bin/sh |
2 | # based on script by (c) vip at linux.pl, wolf at pld-linux.org | |
3 | ||
bd6004c2 | 4 | LIBDIR="@LIBDIR@/mozilla-firefox" |
f594d491 | 5 | |
a97d8027 | 6 | MOZARGS= |
3841e42d | 7 | MOZLOCALE="$(/usr/bin/locale | grep "^LC_MESSAGES=" | \ |
8 | sed -e "s|LC_MESSAGES=||g" -e "s|\"||g" )" | |
9 | for MOZLANG in $(echo $LANGUAGE | tr ":" " ") $MOZLOCALE; do | |
10 | eval MOZLANG="$(echo $MOZLANG | sed -e "s|_\([^.]*\).*|-\1|g")" | |
7dafdcbe | 11 | |
b0d42bc3 | 12 | if [ -f $LIBDIR/chrome/$MOZLANG.jar ]; then |
3841e42d | 13 | MOZARGS="-UILocale $MOZLANG" |
14 | break | |
15 | fi | |
16 | done | |
17 | ||
18 | if [ -z "$MOZARGS" ]; then | |
19 | # try harder | |
6576b851 ER |
20 | for MOZLANG in $(echo $LANGUAGE | tr ":" " ") $MOZLOCALE; do |
21 | eval MOZLANG="$(echo $MOZLANG | sed -e "s|_.*||g")" | |
3841e42d | 22 | |
b0d42bc3 | 23 | LANGFILE=$(echo $LIBDIR/chrome/${MOZLANG}*.jar \ |
6576b851 ER |
24 | | sed 's/\s.*//g' ) |
25 | if [ -f "$LANGFILE" ]; then | |
26 | MOZLANG=$(basename "$LANGFILE" | sed 's/\.jar//') | |
27 | MOZARGS="-UILocale $MOZLANG" | |
28 | break | |
29 | fi | |
30 | done | |
3841e42d | 31 | fi |
7dafdcbe | 32 | |
dd339e54 ER |
33 | # compreg.dat and/or chrome.rdf will screw things up if it's from an |
34 | # older version. http://bugs.gentoo.org/show_bug.cgi?id=63999 | |
35 | for f in ~/{.,.mozilla/}firefox/*/{compreg.dat,chrome.rdf,XUL.mfasl}; do | |
36 | if [[ -f ${f} && ${f} -ot /usr/bin/mozilla-firefox ]]; then | |
37 | echo "Removing ${f} leftover from older firefox" | |
38 | rm -f "${f}" | |
39 | fi | |
40 | done | |
41 | ||
7dafdcbe | 42 | if [ -n "$MOZARGS" ]; then |
43 | FIREFOX="$LIBDIR/firefox $MOZARGS" | |
44 | else | |
45 | FIREFOX="$LIBDIR/firefox" | |
46 | fi | |
47 | ||
763f73fd | 48 | if [ "$1" == "-remote" ]; then |
c88aa5e7 | 49 | exec $FIREFOX "$@" |
763f73fd | 50 | else |
7dafdcbe | 51 | PING=`$FIREFOX -remote 'ping()' 2>&1 >/dev/null` |
763f73fd | 52 | if [ -n "$PING" ]; then |
53 | if [ -f "`pwd`/$1" ]; then | |
c88aa5e7 | 54 | exec $FIREFOX "file://`pwd`/$1" |
763f73fd | 55 | else |
c88aa5e7 | 56 | exec $FIREFOX "$@" |
763f73fd | 57 | fi |
58 | else | |
59 | if [ -z "$1" ]; then | |
f176bc86 | 60 | exec $FIREFOX -remote 'xfeDoCommand(openBrowser)' |
763f73fd | 61 | elif [ "$1" == "-mail" ]; then |
f176bc86 | 62 | exec $FIREFOX -remote 'xfeDoCommand(openInbox)' |
763f73fd | 63 | elif [ "$1" == "-compose" ]; then |
f176bc86 | 64 | exec $FIREFOX -remote 'xfeDoCommand(composeMessage)' |
763f73fd | 65 | else |
66 | if [ -f "`pwd`/$1" ]; then | |
67 | URL="file://`pwd`/$1" | |
68 | else | |
69 | URL="$1" | |
70 | fi | |
f100f303 | 71 | if ! grep -q 'browser\.tabs\.opentabfor\.middleclick.*false' ~/.mozilla/firefox/*/prefs.js ; then |
5ab89eb1 | 72 | exec $FIREFOX -new-tab "$URL" |
763f73fd | 73 | else |
5ab89eb1 | 74 | exec $FIREFOX -new-window "$URL" |
763f73fd | 75 | fi |
76 | fi | |
77 | fi | |
78 | fi |