#!/bin/sh
#
# Kimera startup sctipt
#

KIMERA_BIN=./kimera-bin
LOCKFILE=/tmp/.kimera_$USER.lock
KIMERA_LOCALDIR=$HOME/.kimera
LOG=$KIMERA_LOCALDIR/kimera.log
XMODIFIERS="@im=kimera"

[ -d "$KIMERA_LOCALDIR" ] || mkdir -p $KIMERA_LOCALDIR

# Lock
count=0
while true; do
  if ln -s $KIMERA_LOCALDIR $LOCKFILE >/dev/null 2>&1; then
    trap 'rm -f $LOCKFILE; exit' EXIT
    break

  elif [ $count -eq 5 ]; then
    echo "lock file exists: $LOCKFILE"
    exit 1
  fi

  sleep 1
  count=`expr $count + 1`
done

# Check pid of kimera
PID=`ps cx | grep  \`basename $KIMERA_BIN\` | awk '{ print $1 }'`
if [ -n "$PID" ]; then 
  echo "kimera already executing (pid:${PID})"
  exit 1
fi

# Execute Kimera
exec $KIMERA_BIN -noxim >$LOG 2>&1

