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