#!/bin/sh
PROGRAM_PATH=/opt/openoffice/program
CHECKMEM=""
FREESPACE="$(df -k $HOME/. | awk '/^\/|^rootfs/{print $4}')"

# Show logo in background
SCREEN="$(xdpyinfo | awk '/dimensions/{print $2; exit 0}')"
X="$(expr ${SCREEN%%x*} / 2 - 235)"
Y="$(expr ${SCREEN##*x} / 2 - 160)"

# Visual feedback
xloadimage -quiet -geometry 0x0+$X+$Y -delay 140 /opt/openoffice/program/soffice-startup.gif >/dev/null 2>&1 &
xpid="$!"

[ -n "$USER" ] || USER="$(id -un)"

# Copy skel files to home dir if user is knoppix and space is available.
if [ "$USER" = "knoppix" -a "$FREESPACE" -gt 1500 ]; then
for i in office .sversionrc .user60.rdb; do
if [ ! -e "$HOME"/"$i" -a -e /etc/skel/"$i" ]; then
cp -au /etc/skel/"$i" "$HOME"/
fi
done
fi

[ -x /usr/bin/checkmem ] && CHECKMEM="/usr/bin/checkmem 100"

# Sure this is a bug. OpenOffice-DE does NOT accept the euro sign
# at all when LANG or LC_ALL are set correctly to de_DE@euro.

# LANG=C 
# LC_ALL=
# export LANG LC_ALL


# Check if we ever started OpenOffice before. Call setup if not.
[ -e "$HOME"/.sversionrc ] || $CHECKMEM "$PROGRAM_PATH"/setup

# Font bug workaround for OpenOffice 1.0
LOCALOFFICE=$(awk '/^OpenOffice\.org/{dir=substr($0,match($0,"file://")+7)}END{gsub(/[\n\r]/,"",dir);print dir}' $HOME/.sversionrc 2>/dev/null)
[ -e "$LOCALOFFICE/user/psprint/pspfontcache" ] && rm -f "$LOCALOFFICE/user/psprint/pspfontcache"

# Start openoffice
( exec $CHECKMEM "$PROGRAM_PATH"/soffice "$@" & )
sleep 5
i=0; while [ "$i" -lt 120 ]; do sleep 2; xwininfo -root -tree | grep -q ' OpenOffice'; [ "$?" = "0" ] && break; done
kill $xpid 2>/dev/null

exit 0
