#!/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 WM into BP
# AGX application register 0.001 - 19980115
# AGX application register 0.010 - 19980210
# AGX application register 0.100 - 19980412
# AGX window manager register 0.200 - 19990613
# 1999-11-04, Version 1.6.0 by AGX
# 1999-12-03, Version 1.8.0 by AGX: Conformig to BP 0.6.0

# Parameters Checking:
# (1) = Window Manager Name
# (2) = Command to launch the WM
# (3) = WM description
# (4) = Optional flag (0=Ask always, 1=only register, 2=register as default)
if [ "$1" = "" -o "$2" = "" -o "$3" = "" ]; then
  echoc RED "install-windowmanager: Parametri sbagliati"
  exit 1
fi  
WM_NAME="$1"
WM_COMMAND="$2"
WM_DESC="$3"
if [ "$4" = "" ]; then
  WM_OPT=0
else
  WM_OPT=$4
fi

# DB Check
WM_FILE="/etc/sysconfig/WINDOW-MANAGERS"
if [ ! -f "$WM_FILE" ]; then
  >"$WM_FILE"
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 Window Manager
WM_INSTALL=1
grep -q  "^$WM_NAME:"  "$WM_FILE"  2>/dev/null
if [ $? -eq 1 ]; then
  echoc GREEN "- Inserisco le informazioni sul Window Manager $WM_NAME"
  echo "$WM_NAME:$WM_COMMAND:$WM_DESC"  >>$WM_FILE
else
  echoc CYAN "- Window-Manager $WM_NAME gia' registrato."
fi


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

# Check the default WM
if [ "$WINDOWMANAGER" = "" ]; then
  OLDWM="`cat $HOME/.WINDOWMANAGER 2>/dev/null`"
else
  OLDWM="$WINDOWMANAGER"
fi
if [ "$OLDWM" != "$WM_COMMAND" ]; then
  sleep 1
  # With 2 don't ask and install it directly as default WM
  if [ $WM_OPT -eq 2 ]; then
    WM_INSTALL=0
  else
    dialog --yesno "\nVuoi installare $WM_NAME come Window Manager predefinito ?" 7 70  2>$TEMPSCRIPT
    WM_INSTALL=$?
  fi
else
  echoc YELLOW "- $WM_NAME e' gia' il window manager predefinito."
  exit 0
fi


# Install as the default Window Manager
if [ $WM_INSTALL -eq 0 ]; then
  echoc CYAN "- Installo $WM_NAME come il window manager predefinito."
  echo  "$WM_COMMAND"  > /etc/skel/.WINDOWMANAGER
  echo  "$WM_COMMAND"  > $HOME/.WINDOWMANAGER

  # Schedule Install menu 
  SK_NAME="/var/spool/badpenguin/ZZ-run-install-menu.post-install"
  echo "#!/bin/sh" > $SK_NAME
  echo "/usr/local/sbin/install-menu" >> $SK_NAME
  echoc CYAN "- Successivamente i menu del window manager verranno ricostruiti."
fi	
