#!/bin/sh
# <BEGIN COPYRIGHT>
# This file is part of the "Bad Penguin" GNU/Linux distribution
# Copyright (C) 1997-98-99 by Antonio GALLO aka AGX
# Home Page at ......: http://www.badpenguin.org
# Home Page at ......: http://www.linux.it/~agx/
# e-mail contact ....: mailto:agx@linux.it	mailto:agx@geocities.com
# This program is distributed under the GNU General Public License
# You are not allowed to remove the copyright notice
# <END COPYRIGHT>

# Register a SM into BP
# 2000-01-20, Versione 0.0.1 by AGX

# Parameters Checking:
# (1) = Session Manager Name
# (2) = Command to launch the SM
# (3) = SM description
# (4) = Optional flag (0=Ask always, 1=only register, 2=register as default)
if [ "$1" = "" -o "$2" = "" -o "$3" = "" ]; then
  echoc RED "install-sessionmanager: Parametri sbagliati"
  exit 1
fi  
SM_NAME="$1"
SM_COMMAND="$2"
SM_DESC="$3"
if [ "$4" = "" ]; then
  SM_OPT=0
else
  SM_OPT=$4
fi

# DB Check
SMDB="/etc/sysconfig/SESSION-MANAGERS"
if [ ! -f "$SMDB" ]; then
  >$SMDB
fi

# Temps
TEMPDIR="$HOME/tmp"
[ ! -d $TEMPDIR ] && mkdir -p $TEMPDIR
TEMPSCRIPT=$TEMPDIR/tempscript.$$
TEMPDATA=$TEMPDIR/tempdata.$$
trap 'rm -f $TEMPSCRIPT $TEMPDATA ; exit $USCITA' 0


# Register Session Manager
SM_INSTALL=1
grep -q  "^$SM_NAME:"  "$SMDB"  2>/dev/null
if [ $? -eq 1 ]; then
  echoc GREEN "- Inserisco le informazioni sul Session Manager $SM_NAME"
  echo "$SM_NAME:$SM_COMMAND:$SM_DESC"  >>$SMDB
else
  echoc CYAN "- Session-Manager $SM_NAME gia' registrato."
fi


# Only register option
[ $SM_OPT -eq 1 ] && exit 0
 

# Check the default SM
if [ "$SESSIONMANAGER" = "" ]; then
  OLDSM="`cat $HOME/.SESSIONMANAGER 2>/dev/null`"
else
  OLDSM="$SESSIONMANAGER"
fi
if [ "$OLDSM" != "$SM_COMMAND" ]; then
  sleep 1
  # With 2 don't ask and install it directly as default SM
  if [ $SM_OPT -eq 2 ]; then
    SM_INSTALL=0
  else
    dialog --yesno "\nVuoi installare $SM_NAME come Session Manager predefinito ?" 7 70  2>$TEMPSCRIPT
    SM_INSTALL=$?
  fi
else
  echoc YELLOW "- $SM_NAME e' gia' il session manager predefinito."
  exit 0
fi


# Install as the default Session Manager
if [ $SM_INSTALL -eq 0 ]; then
  echoc CYAN "- Installo $SM_NAME come il session manager predefinito."
  echo  "$SM_COMMAND"  > /etc/skel/.SESSIONMANAGER
  echo  "$SM_COMMAND"  > $HOME/.SESSIONMANAGER
fi	
