mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-12 02:02:16 +10:00
Add IzPack
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# ShellScript
|
||||
# - to detect a desktop and their native
|
||||
# File/WebBrowser such as Konqueror (KDE) or Nautilus/Epiphany (Gnome)
|
||||
# Or
|
||||
# - to detect a browser from the mozilla family
|
||||
# The first prefered one will open the given $1 document
|
||||
# which should be a web url (http://host.domain.com/path/index.html) or a
|
||||
# local file like file:///local/folder/document.html
|
||||
# Note: Tested on SuSE, Fedora an Mandriva Linux and Solaris 9 with kde, gnome or a mozilla installed
|
||||
#
|
||||
# This is licensed as part of
|
||||
# IzPack - Copyright 2001-2005 Julien Ponge, All Rights Reserved.
|
||||
#
|
||||
# http://izpack.org/
|
||||
# http://izpack.codehaus.org/
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# ./start.sh http://izpack.org/
|
||||
#
|
||||
# author marc.eppelmann@gmx.de
|
||||
# $Id$
|
||||
#
|
||||
|
||||
function usage() {
|
||||
echo "Launch an url with the browser."
|
||||
echo ""
|
||||
echo "Usage : "
|
||||
echo " ./start.sh http://izpack.org/"
|
||||
}
|
||||
|
||||
function detectDesktop() {
|
||||
if [[ "$DISPLAY" = "" ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
local LC_ALL=C
|
||||
local clients
|
||||
if ! clients=`xlsclients`; then
|
||||
# TODO: should we fall back to using ps?
|
||||
return 1
|
||||
fi
|
||||
|
||||
if echo "$clients" | grep -qE '(gnome-panel|nautilus|metacity)'; then
|
||||
echo gnome
|
||||
elif echo "$clients" | grep -qE '(kicker|slicker|karamba|kwin)'; then
|
||||
echo kde
|
||||
else
|
||||
echo other
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
function lookForRunningGecko(){
|
||||
if command -v firefox &>/dev/null; then
|
||||
tempfile=`mktemp`
|
||||
|
||||
firefox -remote "ping()" 2> $tempfile
|
||||
|
||||
if [ -s $tempfile ]; then
|
||||
rm $tempfile
|
||||
echo "none" # is not running :-)
|
||||
return 1
|
||||
else
|
||||
rm $tempfile
|
||||
echo firefox # is running :-)
|
||||
return 0
|
||||
fi
|
||||
fi # firefox "$1"
|
||||
if command -v mozilla &>/dev/null; then
|
||||
#if mozilla -remote "ping()"
|
||||
if command mozilla -remote "ping()" &>/dev/null; then
|
||||
echo mozilla # is running :-)
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
echo "none"
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
if [[ $# = 0 ]]
|
||||
then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
desktop=`detectDesktop`
|
||||
gecko=`lookForRunningGecko`
|
||||
|
||||
echo "found Desktop: $desktop"
|
||||
echo "found Gecko: $gecko"
|
||||
|
||||
if [[ "$gecko" = "none" ]]; then # try open a new instance if found:
|
||||
if command -v firefox &>/dev/null; then
|
||||
firefox "$1" &
|
||||
elif command -v mozilla &>/dev/null; then
|
||||
mozilla "$1" &
|
||||
elif [[ "$desktop" = "gnome" ]] && command -v gnome-open &>/dev/null; then
|
||||
gnome-open "$1" &
|
||||
elif [[ "$desktop" = "kde" ]]; then
|
||||
kfmclient exec "$1" &
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Launching: $gecko"
|
||||
$gecko -remote "openurl($1)" &
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user