aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/bin/www-browser
diff options
context:
space:
mode:
authorFrederic Crozat <fcrozat@mandriva.com>2007-10-01 12:26:35 +0000
committerFrederic Crozat <fcrozat@mandriva.com>2007-10-01 12:26:35 +0000
commit362918c5d6b332bfc42b8f7ae3d544bf8f5b167b (patch)
treecdfb5de2232920575a2ff9b9aeff475717c3233b /trunk/bin/www-browser
parentbaf01dea0266bcfd81f1b00286e269e679da0a7d (diff)
downloadcommon-data-2008_0_13mdv.tar
common-data-2008_0_13mdv.tar.gz
common-data-2008_0_13mdv.tar.bz2
common-data-2008_0_13mdv.tar.xz
common-data-2008_0_13mdv.zip
V2008_0_13mdvV2008_0_13mdv
Diffstat (limited to 'trunk/bin/www-browser')
-rwxr-xr-xtrunk/bin/www-browser82
1 files changed, 82 insertions, 0 deletions
diff --git a/trunk/bin/www-browser b/trunk/bin/www-browser
new file mode 100755
index 0000000..4eb6e51
--- /dev/null
+++ b/trunk/bin/www-browser
@@ -0,0 +1,82 @@
+#!/bin/sh
+#---------------------------------------------------------------
+# Project : Mandrakelinux
+# Module : bin
+# File : www-browser
+# Version : $Id$
+# Author : Frederic Lepied
+# Created On : Tue Aug 31 16:26:54 2004
+# Purpose : launch a web browser
+#---------------------------------------------------------------
+
+#
+# If we got any argument, we can call xdg-open, if we havenĀ“t already done it
+#
+if [ -n "$*" -a -z "$THROUGHXDG" ]; then
+ # Lock against bug #29599
+ export THROUGHXDG=1
+ exec xdg-open "$@"
+fi
+
+#
+# No URL specified, so we must find a proper browser for the current env
+#
+
+strip_browser_var() {
+ if [[ -n "$BROWSER" ]]; then
+ if [[ `basename "$BROWSER"` == "www-browser" ]]; then
+ unset BROWSER
+ else
+ set $BROWSER
+ if ! which $1 > /dev/null 2>&1; then
+ unset BROWSER
+ fi
+ fi
+ fi
+}
+
+strip_browser_var
+if [[ -z "$BROWSER" ]]; then
+
+ # using GNOME
+ if [[ -n "$GNOME_DESKTOP_SESSION_ID" ]]; then
+ BROWSER=`gconftool -g /desktop/gnome/url-handlers/http/command | sed -e 's/ %s//'`
+ if [[ `gconftool -g /desktop/gnome/url-handlers/http/needs_terminal` == "true" ]]; then
+ BROWSER="xvt -e $BROWSER"
+ fi
+ fi
+
+ #using KDE
+ if [[ -n "$KDE_FULL_SESSION" ]]; then
+ NEWBROWSER=`grep -m 1 'BrowserApplication=' $HOME/.kde/share/config/kdeglobals 2>/dev/null`
+ [[ -z "$NEWBROWSER" ]] && NEWBROWSER=`grep -m 1 'BrowserApplication=' /etc/kde/kdeglobals 2>/dev/null`
+ if [[ -n "$NEWBROWSER" ]]; then
+ BROWSER=`echo $NEWBROWSER | sed -e 's/BrowserApplication=\(.*\).desktop/\1/'`
+ BROWSER="dcop klauncher default start_service_by_desktop_name(QString,QStringList) $BROWSER [ ]"
+ fi
+ fi
+
+ strip_browser_var
+
+ [[ -z "$BROWSER" ]] && BROWSER=`which mozilla-firefox 2> /dev/null`
+ [[ -z "$BROWSER" ]] && [[ -n "$KDE_FULL_SESSION" ]] && which kfmclient > /dev/null 2>&1 && BROWSER="kfmclient openProfile webbrowsing"
+ [[ -z "$BROWSER" ]] && BROWSER=`which epiphany 2> /dev/null`
+ [[ -z "$BROWSER" ]] && BROWSER=`which galeon 2> /dev/null`
+ [[ -z "$BROWSER" ]] && BROWSER=`which mozilla 2> /dev/null`
+ [[ -z "$BROWSER" ]] && which kfmclient > /dev/null 2>&1 && BROWSER="kfmclient openProfile webbrowsing"
+ [[ -z "$BROWSER" ]] && which links > /dev/null 2>&1 && BROWSER="xvt -e links"
+ [[ -z "$BROWSER" ]] && which lynx > /dev/null 2>&1 && BROWSER="xvt -e lynx"
+fi
+
+if [[ -n "$BROWSER" ]]; then
+ if [[ -n "$THROUGHXDG" ]]; then
+ # xdg couldn't handle the url
+ exec $BROWSER $@
+ else
+ exec $BROWSER
+ fi
+else
+ echo "no web browser detected"
+fi
+
+# www-browser ends here