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