#!/bin/bash

# Script para capturas de pantalla
# Realizado por el equipo de desarrollo de GALPon Minino
#
# Publicado bajo la "Licencia pública general de GNU" GNU/GPL
#
# Este script depende de "scrot" y de "zenity"
# Para instalarlos, en Debian y derivadas, ejecute:
# # (ó sudo) apt-get intall scrot zenity

case $LANG in
    es*)
        TITLE1="Captura de pantalla"
        TITLE2="Escoja el modo de captura"
        TITLE3="Escoja el tiempo de retardo.
		\nEn las capturas a <b>pantalla completa</b> el tiempo comienza a contar en
cuanto pulse en <b>Aceptar</b>
		\nEn las capturas de <b>Ventana en foco CON marco</b> el tiempo comienza
a contar al pulsar en la <b>ventana</b>
		\nLa selección de <b>Ventana en foco SIN marco</b> o <b>Área seleccionada</b>
tiene dos opciones:
			<b>Pulsar con el puntero en la ventana</b>:
				Obtendrá una captura de esa ventana sin marco,
				el tiempo comienza a contar después de pulsar.
			<b>Seleccionar un área rectangular</b>. Pulsar en un
				punto de la pantalla arrastrando el puntero sobre
				la pantalla, verá una selección rectangular.
				Se realizará una captura de esa área seleccionada,
				El tiempo comienza a contar en cuanto suelte el
				botón del ratón"
        SEL1="Pantalla completa."
	SEL2="Ventana en foco CON marco"
        SEL3="Ventana en foco SIN marco
ó Área seleccionada"
	SAVE="Guardar como..."
	CAP="Captura_"
	DIR="Escritorio"
        ;;
    gl*)
        TITLE1="Captura de pantalla"
        TITLE2="Escolla o modo de captura"
        TITLE3="Escolla o tempo de retardo.
		\nNas capturas a <b>Pantalla completa</b> o tempo comeza a contar ao
premer en <b>Aceptar</b>
		\nNas capturas de <b>Xanela en foco CON marco</b> o tempo comeza a contar ao
premer na <b>xanela</b>
		\nA selección de <b>Xanela en foco SEN marco</b> ou <b>Área seleccionada</b>
ten dúas opcións:
			<b>Premer co punteiro na xanela</b>:
				Obterá unha captura desa xanela sen marco.
				O tempo comeza a contar despois de premer.
			<b>Seleccionar unha área rectangular</b>:
				Prema nun punto da pantalla e arrastre o punteiro
				sobre a pantalla, verá unha selección rectangular.
				Realizaráse unha captura desa área seleccionada,
				o tempo comeza a contar ao soltar o botón do rato"
        SEL1="Pantalla completa."
	SEL2="Xanela en foco CON marco"
        SEL3="Xanela en foco SEN marco
ou Área seleccionada"
	SAVE="Gardar como..."
	CAP="Captura_"
	DIR="Escritorio"
        ;;
    *)
        TITLE1="Screenshot"
        TITLE2="Choose Capture Mode"
        TITLE3="Choose Delay Time.
		\nIn the <b>Full Screen</b> mode, the time starts counting as soon as you
press <b>OK</b>
		\nEn las capturas de <b>Ventana en foco CON marco</b> el tiempo comienza
a contar al pulsar en la <b>ventana</b>
		\nYou have two options for <b>Window in focus whithout frame</b> or
<b>Selected area</b>:
			<b>To click in the window</b>
				You will get an screenshot of that window without
				frame, the time starts counting as soon as you
				click on it.
			<b>To select a rectangular area</b>. Drag &amp; drop the pointer
				over the area you want. It will be captured the area you
				chose.
				The time starts counting as soon as you free the mouse"
        SEL1="Full Screen"
	SEL2="Window in focus Whith frame"
        SEL3="Window in focus whithout frame
or Selected Area"
	SAVE="Save as..."
	CAP="Capture_"
	DIR="Desktop"
        ;;
esac

function Guardar(){
    cd $HOME

    # Asignamos valor fecha/hora para nombrar capturas
    /bin/date > /tmp/hora.txt
    HORA=`cat /tmp/hora.txt | cut -c1-19; echo`

    captura=$(yad --title "$SAVE" --file-selection \
	--filename "$HOME/$DIR/$CAP$HORA" \
	--width 640  --height 480 \
	--save --confirm-overwrite || exit )
    mv /tmp/captura.png  "$captura.png"
}

MODE=$(yad --title "$TITLE1" --text "$TITLE2" \
	--list --print-column 1 --no-headers \
	--image applets-screenshooter --width 300 --height 160 \
	--column "control" --column "acción":tip --hide-column 1 \
    C "$SEL1" \
    B "$SEL2" \
    A "$SEL3" )

case $? in
  0)
    TIME=$(yad --scale --title "$TITLE1" --text "$TITLE3" \
    --image applets-screenshooter --min-value=0 --max-value=30 --value=0 --step 1)

    case $? in
      0)
        if [ "$MODE" = "C|" ]; then
          scrot -q 90 -d $TIME /tmp/captura.png ; Guardar
        elif [ "$MODE" = "A|" ]; then
          scrot -q 90 -s -d $TIME /tmp/captura.png ; Guardar
        elif [ "$MODE" = "B|" ]; then
          scrot -q 90 -s -b -d $TIME /tmp/captura.png ; Guardar
        else
          exit
        fi
        ;;
      1) exit ;;
      255) exit ;;
    esac
    ;;
  1) exit ;;
  255) exit ;;
esac


