aboutsummaryrefslogtreecommitdiffstats
path: root/bin/www-browser
diff options
context:
space:
mode:
Diffstat (limited to 'bin/www-browser')
-rwxr-xr-xbin/www-browser92
1 files changed, 92 insertions, 0 deletions
diff --git a/bin/www-browser b/bin/www-browser
new file mode 100755
index 0000000..9628889
--- /dev/null
+++ b/bin/www-browser
@@ -0,0 +1,92 @@
+#!/bin/sh
+#---------------------------------------------------------------
+# Project : Mandrakelinux
+# Module : bin
+# File : www-browser
+# Version : $Id: www-browser 243941 2008-08-12 12:48:22Z fcrozat $
+# 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=`kreadconfig --group General --key BrowserApplication 2>/dev/null`
+ if [[ -n "$NEWBROWSER" ]]; then
+ BROWSER=`echo $NEWBROWSER | sed -e 's/\(.*\).desktop/\1/'`
+ if [[ x"$KDE_SESSION_VERSION" == x"4" ]]; then # KDE 4
+ BROWSER="dbus-send --type=method_call --dest=org.kde.klauncher /KLauncher org.kde.KLauncher.start_service_by_desktop_name string:$BROWSER array:string: array:string: string: boolean:true"
+ else # KDE 3
+ BROWSER="dcop klauncher default start_service_by_desktop_name(QString,QStringList) $BROWSER [ ]"
+ fi
+ fi
+ fi
+
+ #using XFCE
+ if xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then
+ BROWSER="exo-open --launch WebBrowser"
+ fi
+
+
+ strip_browser_var
+
+ [[ -z "$BROWSER" ]] && BROWSER=`which firefox 2> /dev/null`
+ [[ -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 seamonkey 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