#!/bin/bash
# mkdistro_main.sh 
# Realiza todos os trabalhos no modulo principal
# Primeira versao:12/08/2005
# versao atual: 0.6
# Ultima atualizacao: 19/04/2006

export DISPLAY=localhost:1

function repository ()
{
while : ; do
  clear
  dialog --title "Repositorios Instalados" --cancel-label "Sair"	\
  --menu "Escolha o tipo de acao:" 0 0 0 				\
  e	"Editar repositorios (incluir e/ou excluir)" 			\
  a	"Atualizar listas de pacotes" 2>/tmp/repo_works.txt
  retval=$?
  case $retval in
    1) break ;;
    255) break ;;
  esac
  acaorepo=`cat /tmp/repo_works.txt` 
  case "$acaorepo" in 
   "e") nano /etc/apt/sources.list ;;
   "a") apt-get update ;;
  esac
  rm -f /tmp/repo_works.txt
done
}

function pack_works () 
{
while : ; do
  clear
  dialog --title "Gerenciamento de Pacotes" --cancel-label "Sair"	\
  --menu "Escolha o tipo de acao:" 0 0 0 			\
  v	"Ver pacotes instalados" 				\
  i	"Instalar pacotes"					\
  d	"Desinstalar pacotes" 2>/tmp/acaopack.txt		
  retval=$?
  case $retval in
    1) break ;;
    255) break ;;
  esac
  acaopack=`cat /tmp/acaopack.txt`
  case "$acaopack" in 
   "v") dpkg -l | most ;;
   "i") dialog --title "Instala pacote" --cancel-label "Sair" --inputbox "Pacote a instalar:" 0 0 2>/tmp/pacote.txt
	pack=`cat /tmp/pacote.txt`
	apt-get install $pack ;;
   "d") dialog --title "Desinstala pacote" --cancel-label "Sair" --inputbox "Pacote a desinstalar:" 0 0 2>/tmp/pacote.txt
	pack=`cat /tmp/pacote.txt`
	apt-get remove $pack ;;
  esac
  rm -f /tmp/acaopack.txt
done
}

function exec_wm () 
{
dialog --title "Gerenciador de Janelas" --cancel-label "Sair" --inputbox "Informe o comandos que executa o Gerenciador de Janelas (Ex: xfce4-panel ou startkde)." 12 75 2>/tmp/cmd.txt
CMD=`cat /tmp/cmd.txt`
$CMD :1 &
}


while : ; do
  clear
  dialog --title "Modulo Principal - Menu" --cancel-label "Sair"	\
  --menu "Escolha o tipo de acao:" 0 0 0 				\
  a	"Ver/incluir/excluir repositorios e atualizar lista de pacotes" \
  b	"Ver/instalar/desinstalar pacotes individualmente"		\
  c	"Executar o aptitude (gerenciador de pacotes em modo texto)"	\
  d	"Executar o synaptic (gerenciador de pacotes grafico)"		\
  e	"Executar o seu gerenciador de janelas" 2>/tmp/acaoprin.txt	 
  retval=$?
  case $retval in
    1)  clear
	break ;;
    255)clear 
	break ;;
  esac
  acaoprin=`cat /tmp/acaoprin.txt`
  case "$acaoprin" in 
   "a") repository ;;
   "b") pack_works ;;
   "c") aptitude ;;
   "d") synaptic :2 & ;;
   "e") exec_wm ;;
  esac
  rm -f /tmp/acaoprin.txt
done
