#!/bin/sh # # BEGIN COPYRIGHT BLOCK # This Program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; version 2 of the License. # # This Program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # this Program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place, Suite 330, Boston, MA 02111-1307 USA. # # Copyright (C) 2005 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK DO_FORCEMODE="false" DO_SHOW_VERSION="false" ESC_ARGS= ESC_PROFILE_BASE=~/.redhat/esc ESC_LOG_FILE=esc.log ESC_PATH=/usr/lib/esc-1.1.0 ESC_BIN_PATH=/usr/bin ESC_EXEC=esc ESCD_EXEC=escd ESC_BIN=$ESC_PATH/xulrunner/xulrunner-bin ESCD_BIN=./$ESCD_EXEC LAST_PROG_PID=0 SIGUSR1=10 FORCE_START_ESC= XPTI_DAT=xpti.dat COMPREG_DAT=compreg.dat LOCK_FILE=lock PARENT_LOCK_FILE=.parentlock function isProgRunning { userID=$(whoami) isProgRunning=$(pgrep -U $userID -f $1) if [ $isProgRunning ]; then LAST_PROG_PID=$isProgRunning return 0 fi LAST_PROG_PID=0 return 1 } function removeFile { rm -f $1 } function cleanupProfile { removeFile $ESC_PROFILE_BASE/*default/$XPTI_DAT removeFile $ESC_PROFILE_BASE/*default/$COMPREG_DAT removeFile $ESC_PROFILE_BASE/*default/$LOCK_FILE removeFile $ESC_PROFILE_BASE/*default/$PARENT_LOCK_FILE } function processArgs { for arg in $1 do #echo "theArg: $arg" if [ $arg == "forceStartESC" ] then #echo "Do force mode!" FORCE_START_ESC="true" fi if [ $arg == "keyInserted" ] then FORCE_START_ESC="true" fi if [ $arg == "-version" ] then #echo "Do show version!" DO_SHOW_VERSION="true" fi done } processArgs $* if [ ! -d $ESC_PROFILE_BASE ] then mkdir -p $ESC_PROFILE_BASE fi cd $ESC_PATH #First check if we just want the version if [ $DO_SHOW_VERSION == "true" ] then #echo "try to run the version command!" ESC_ARGS="-version" ./$ESC_EXEC $ESC_ARGS exit 0 fi # Start up the daemon if it is not running isProgRunning $ESCD_BIN if [ $LAST_PROG_PID -gt 0 ] then false #echo "escd already running." else #echo "escd not running start." cleanupProfile ./$ESCD_EXEC --key_Inserted=\"/usr/bin/esc\" --on_Signal=\"/usr/bin/esc\" exit 0 fi # Now check to see if we wer signaled from the daemon if [ $FORCE_START_ESC ] then #echo "force start esc." #Check to see if esc is already running isProgRunning $ESC_BIN if [ $LAST_PROG_PID -gt 0 ] then #echo "attempting a force start but already running ... exit." exit 0 fi #echo "force start esc not running start esc..." ./$ESC_EXEC exit 0 fi isProgRunning $ESC_BIN if [ $LAST_PROG_PID -gt 0 ] then #echo "esc already running." ./$ESC_EXEC exit 0 else #echo "esc not already running start up and bring up window." ./$ESC_EXEC & sleep 4 #echo "done sleeping bring up esc window." ./$ESC_EXEC exit 0 fi exit 0