script revision 1924158e7212c4c011243c8db12d015dafdd90af
#!/bin/sh
#
# Author: Aaron Voisine <aaron@voisine.org>
# Inkscape Modifications: Michael Wybrow <mjwybrow@users.sourceforge.net>
CWD=`dirname "$0"`
# System version: 3 for Panther, 4 for Tiger, 5 for Leopard
export VERSION=`/usr/bin/sw_vers | grep ProductVersion | cut -f2 -d'.'`
# On Leopard, X11.app is installed by default, and will be started
# automatically via launchd. On older systems, we need to start
# X11 ourself.
# For Panther and Tiger, start X11
if [[ $VERSION -le 4 ]]; then
# FIXME apparently this removes the xterm that starts with X
# from xinitrc but when is it really used? Should we modify
# the .xinitrc of the user without warning?
ps -wx -ocommand | grep -e '[X]11' > /dev/null
if [ "$?" != "0" -a ! -f "${HOME}/.xinitrc" ]; then
echo "rm -f \"\${HOME}/.xinitrc\"" > "${HOME}/.xinitrc"
sed 's/xterm/# xterm/' /usr/X11R6/lib/X11/xinit/xinitrc >> "${HOME}/.xinitrc"
fi
# Start X11 and get DISPLAY
# FIXME: Insecure tmp file usage. Why do we have to copy this to /tmp anyway?
cp -f "$CWD/bin/getdisplay.sh" /tmp/
rm -f /tmp/display.$UID
open-x11 /tmp/getdisplay.sh || \
open -a XDarwin /tmp/getdisplay.sh || \
echo ":0" > /tmp/display.$UID
while [ "$?" == "0" -a ! -f /tmp/display.$UID ]; do
sleep 1
done
export DISPLAY=`cat /tmp/display.$UID`
ps -wx -ocommand | grep -e '[X]11' > /dev/null || exit 11
fi
# Warn the user about time-consuming generation of fontconfig caches.
test -f "${HOME}/.config/Inkscape/.fccache-new" || exit 12
BASE=`echo "$0" | sed -e 's/\/Contents\/Resources\/script/\//'`
cd "$BASE"
exec "$CWD/bin/inkscape" "$@"
# TODO examine whether it would be wisest to move the code from inkscape shell
# script and getdisplay.sh to here and only keep the real binary in bin. This
# may make things easier on Leopard and may also help using Inkscape on the
# command line.