|
@@ -25,8 +25,10 @@
|
|
|
|
|
|
|
|
# configuration
|
|
# configuration
|
|
|
thunderbird_dir="@l_prefix@/lib/thunderbird"
|
|
thunderbird_dir="@l_prefix@/lib/thunderbird"
|
|
|
-thunderbird_bin="@l_prefix@/lib/thunderbird/thunderbird"
|
|
|
|
|
|
|
+thunderbird_browser_bin="$thunderbird_dir/thunderbird"
|
|
|
|
|
+thunderbird_remote_bin="$thunderbird_dir/run-mozilla.sh $thunderbird_dir/mozilla-xremote-client"
|
|
|
xsel_bin="@l_prefix@/bin/xsel"
|
|
xsel_bin="@l_prefix@/bin/xsel"
|
|
|
|
|
+wmctrl_bin="@l_prefix@/bin/wmctrl"
|
|
|
|
|
|
|
|
# option parsing
|
|
# option parsing
|
|
|
opt_v=no
|
|
opt_v=no
|
|
@@ -61,12 +63,12 @@ export LANG
|
|
|
|
|
|
|
|
# special case of direct remote option
|
|
# special case of direct remote option
|
|
|
if [ ".$opt_r" != . ]; then
|
|
if [ ".$opt_r" != . ]; then
|
|
|
- verbose "exec: $thunderbird_bin -remote \"$opt_r\""
|
|
|
|
|
- exec $thunderbird_bin -remote "$opt_r"
|
|
|
|
|
|
|
+ verbose "exec: $thunderbird_remote_bin \"$opt_r\""
|
|
|
|
|
+ exec $thunderbird_remote_bin "$opt_r"
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
# determine Mozilla run-time status
|
|
# determine Mozilla run-time status
|
|
|
-$thunderbird_bin -remote "ping()" >/dev/null 2>&1
|
|
|
|
|
|
|
+$thunderbird_remote_bin "ping()" >/dev/null 2>&1
|
|
|
if [ $? -eq 0 ]; then
|
|
if [ $? -eq 0 ]; then
|
|
|
verbose "process already running (available remotely)"
|
|
verbose "process already running (available remotely)"
|
|
|
restart=no
|
|
restart=no
|
|
@@ -93,7 +95,7 @@ for url in "$@"; do
|
|
|
auto:* )
|
|
auto:* )
|
|
|
url=`echo "$url" | sed -e 's;^auto:;;'`
|
|
url=`echo "$url" | sed -e 's;^auto:;;'`
|
|
|
case "$url" in
|
|
case "$url" in
|
|
|
- http://* | https://* | ftp://* ) ;;
|
|
|
|
|
|
|
+ http://* | https://* | ftp://* | file://* ) ;;
|
|
|
www.* ) url="http://$url" ;;
|
|
www.* ) url="http://$url" ;;
|
|
|
ftp.* ) url="ftp://$url" ;;
|
|
ftp.* ) url="ftp://$url" ;;
|
|
|
*.tar.gz | *.tgz ) url="ftpsearch:$url" ;;
|
|
*.tar.gz | *.tgz ) url="ftpsearch:$url" ;;
|
|
@@ -104,7 +106,7 @@ for url in "$@"; do
|
|
|
;;
|
|
;;
|
|
|
esac
|
|
esac
|
|
|
case "$url" in
|
|
case "$url" in
|
|
|
- http://* | https://* | ftp://* )
|
|
|
|
|
|
|
+ http://* | https://* | ftp://* | file://* )
|
|
|
: # URL is already fully qualified
|
|
: # URL is already fully qualified
|
|
|
;;
|
|
;;
|
|
|
google:* )
|
|
google:* )
|
|
@@ -130,7 +132,7 @@ for url in "$@"; do
|
|
|
whois:* )
|
|
whois:* )
|
|
|
# expand Geektools.com WHOIS query
|
|
# expand Geektools.com WHOIS query
|
|
|
url=`echo "$url" | sed -e 's;^whois:;;'`
|
|
url=`echo "$url" | sed -e 's;^whois:;;'`
|
|
|
- url="http://www.geektools.com/cgi-bin/proxy.cgi?query=$url"
|
|
|
|
|
|
|
+ url="http://www.whois-search.com/whois/$url"
|
|
|
;;
|
|
;;
|
|
|
jargon:* )
|
|
jargon:* )
|
|
|
# expand UMEC Jargon File query
|
|
# expand UMEC Jargon File query
|
|
@@ -152,11 +154,11 @@ for url in "$@"; do
|
|
|
# handling of first URL if restarting is necessary
|
|
# handling of first URL if restarting is necessary
|
|
|
verbose "running new process"
|
|
verbose "running new process"
|
|
|
if [ ".$url" = ".about:blank" ]; then
|
|
if [ ".$url" = ".about:blank" ]; then
|
|
|
- verbose "exec: $thunderbird_bin >/dev/null 2>&1 &"
|
|
|
|
|
- $thunderbird_bin >/dev/null 2>&1 &
|
|
|
|
|
|
|
+ verbose "exec: $thunderbird_browser_bin >/dev/null 2>&1 &"
|
|
|
|
|
+ $thunderbird_browser_bin >/dev/null 2>&1 &
|
|
|
else
|
|
else
|
|
|
- verbose "exec: $thunderbird_bin \"$url\" >/dev/null 2>&1 &"
|
|
|
|
|
- $thunderbird_bin "$url" >/dev/null 2>&1 &
|
|
|
|
|
|
|
+ verbose "exec: $thunderbird_browser_bin \"$url\" >/dev/null 2>&1 &"
|
|
|
|
|
+ $thunderbird_browser_bin "$url" >/dev/null 2>&1 &
|
|
|
fi
|
|
fi
|
|
|
else
|
|
else
|
|
|
# delayed waiting for process to be finally remotely available
|
|
# delayed waiting for process to be finally remotely available
|
|
@@ -168,7 +170,7 @@ for url in "$@"; do
|
|
|
sleep 4 # give it a little bit of time to fully startup
|
|
sleep 4 # give it a little bit of time to fully startup
|
|
|
i=0
|
|
i=0
|
|
|
while [ $i -lt 10 ]; do
|
|
while [ $i -lt 10 ]; do
|
|
|
- $thunderbird_bin -remote "ping()" >/dev/null 2>&1
|
|
|
|
|
|
|
+ $thunderbird_remote_bin "ping()" >/dev/null 2>&1
|
|
|
if [ $? -eq 0 ]; then
|
|
if [ $? -eq 0 ]; then
|
|
|
break
|
|
break
|
|
|
fi
|
|
fi
|
|
@@ -177,6 +179,9 @@ for url in "$@"; do
|
|
|
done
|
|
done
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
|
|
+ # try to activate (and bring to foreground) the Mozilla Thunderbird window
|
|
|
|
|
+ $wmctrl_bin -a "Mozilla Thunderbird" >/dev/null 2>&1 || true
|
|
|
|
|
+
|
|
|
# determine remote command
|
|
# determine remote command
|
|
|
if [ ".$opt_w" = .yes ]; then
|
|
if [ ".$opt_w" = .yes ]; then
|
|
|
if [ ".$url" = ".about:blank" ]; then
|
|
if [ ".$url" = ".about:blank" ]; then
|
|
@@ -192,8 +197,8 @@ for url in "$@"; do
|
|
|
|
|
|
|
|
# perform remote command
|
|
# perform remote command
|
|
|
verbose "sending remote command to running process"
|
|
verbose "sending remote command to running process"
|
|
|
- verbose "exec: $thunderbird_bin -remote \"$cmd\" >/dev/null 2>&1"
|
|
|
|
|
- $thunderbird_bin -remote "$cmd" >/dev/null 2>&1
|
|
|
|
|
|
|
+ verbose "exec: $thunderbird_remote_bin \"$cmd\" >/dev/null 2>&1"
|
|
|
|
|
+ $thunderbird_remote_bin "$cmd" >/dev/null 2>&1
|
|
|
fi
|
|
fi
|
|
|
first=no
|
|
first=no
|
|
|
done
|
|
done
|