#!/bin/bash

memoria_del_sistema=`free -mt|grep Mem|awk -F ' ' '{print $2}'`
D="/opt/minino-caracol/default"	
C="/opt/minino-caracol/caracolcfg"

ajustasistema() {

	(
	echo Hacemos un backup de los archivos que vamos a modificar.
	mkdir -p "${D}"
	rsync -a --relative /home/minino/.config/lxsession/ "${D}"
	rsync -a --relative /home/minino/.config/autostart/	"${D}"
	rsync -a --relative /home/minino/.config/openbox/ "${D}"
	rsync -a --relative /etc/rc2.d/ "${D}"
			
	echo Volcamos la configuración del caracol.
	rsync -a ${C}/home/minino/.config/lxsession/ /home/minino/.config/lxsession/
	rsync -a ${C}/home/minino/.config/autostart/ /home/minino/.config/autostart/
	rsync -a ${C}/home/minino/.config/openbox/ /home/minino/.config/openbox/
	rsync -a ${C}/etc/rc2.d/ /etc/rc2.d/

	echo Creamos un archivo SWAP de 1Gb
	swapoff /SWAPFILE
	dd if=/dev/zero of=/SWAPFILE bs=1M count=1000
	mkswap /SWAPFILE
	swapon /SWAPFILE
	)|zenity --progress --pulsate --auto-close --auto-kill --width 400 --title "Procesando..."
	zenity --info --text "Hecho. Reinicie para observar los cambios."
	exit 0

	
	

}


normalizasistema() {
        (
	echo Restauramos la configuración predeterminada.
	rsync -a ${D}/home/minino/.config/lxsession/ /home/minino/.config/lxsession/
	rsync -a ${D}/home/minino/.config/autostart/ /home/minino/.config/autostart/
	rsync -a ${D}/home/minino/.config/openbox/ /home/minino/.config/openbox/
	rsync -a ${D}/etc/rc2.d/ /etc/rc2.d/

	echo Borramos la carpeta de backup con la configuración predeterminada.
	rm -r "${D}"

	echo Reducimos la SWAP a 200Mb.
	swapoff /SWAPFILE
	dd if=/dev/zero of=/SWAPFILE bs=1M count=200
	mkswap /SWAPFILE
	swapon /SWAPFILE
	)|zenity --progress --pulsate --auto-close --auto-kill --width 400 --title "Procesando..."
	zenity --info --text "Restaurado. Reinicie para observar los cambios."
	exit 0
}


if [ -d /opt/minino-caracol/default ];then
	zenity --question --text "¿Desea revertir los cambios sobre servicios, memoria compartida,
efectos visuales, etc...tal y como estaba de forma predeterminada?"

	if [ "$?" = "0" ];then
		normalizasistema

	else
			exit 0
	fi

fi



if (( $memoria_del_sistema > 700 ));then

	zenity --question --text "Este programa reduce la memoria utilizada por el sistema desactivando
servicios del inicio, efectos visuales, aumentando la memoria compartida...

Su equipo tiene suficiente memoria RAM y en principio no necesitaría estos cambios.
En cualquier caso, podrá revertir los cambios volviendo a lanzar este programa.

¿De verdad quiere continuar?"

	if [ "$?" = "0" ];then
		ajustasistema

	else
			exit 0
	fi



else

	zenity --question --text "Este programa reduce la memoria utilizada por el sistema desactivando
servicios del inicio, efectos visuales, aumentando la memoria compartida...

Estos cambios pueden venir bien en su sistema. En cualquier caso, podrá revertir los cambios.

¿De verdad quiere continuar?"

	if [ "$?" = "0" ];then
		ajustasistema

	else
			exit 0
	fi



fi




