# Tipos de dialogos yad

# Yad dialogo Info

TEXTO="\n¡¡Ya ha terminado el proceso de <b>Asignación y Actualización del equipo contra Migasfree</b>!!\n\n\

Antes de la reasignación las Etiquetas Migasfree del equipo eran las siguientes: \n\n\

$(echo ${ETIQUETASVIEJAS} | tr -s ' ' '\n' | grep -n '-' | sed -e 's/😕) /g' | sed -e 's/.*/ &/g') \n\n \

Tras la asignación de Etiquetas Migasfree, el listado de etiquetas para este equipo es el siguiente: \n\n\

$(echo ${ETIQUETASNUEVAS} | tr -s ' ' '\n' | grep -n '-' | sed -e 's/😕) /g' | sed -e 's/.*/ &/g') \n\n \

Esperamos que se haya modificado correctamente el etiquetado Migasfree del equipo. En caso contrario comprueba el correcto estado de la conexión con Internet. \n\n <b>¡¡Ya puedes cerrar la ventana anterior!!</b>"

**yad** --title "Comprobación de la Asignación de Etiquetas Migasfree" \\
**--text** "${TEXTO}" \\
--window-icon=/usr/share/lxpanel/images/vitalinux.svg \\
--image migasfree \\
--width="620" --height="450" \\
--center --justify="center" --text-align="left" --button=Terminar:0

# Yad dialogo Tail

(

echo "--> En breve comenzará la comunicación con el servidor Migasfree ..."

echo "--> Se mostrará un diálogo para que puedas seleccionar las Etiquetas deseadas ..."

echo "--> Ten paciencia por favor ... "

echo "--> No cierres la ventana hasta que se te indique ..."

echo "..."

ETIQUETASVIEJAS="$(migasfree-tags -g)"

echo "Etiquetas Migasfree previas del equipo antes de la reasignación: "

echo ${ETIQUETASVIEJAS} | tr -s ' ' '\n' | grep -n '-' | sed -e 's/😕) /g' | sed -e 's/.*/ &/g'

# Sacamos la ventana para que el usuario seleccione etiquetas Migasfree:

migasfree-tags -s | sed -r 's/'$(echo -e "\033")'\[[0-9]{1,2}(😭[0-9]{1,2})?)?[mK]//g'

ETIQUETASNUEVAS="$(migasfree-tags -g)"

yad --title "Comprobación de la Asignación de Etiquetas Migasfree" \

--text "${TEXTO}" \

--window-icon=/usr/share/lxpanel/images/vitalinux.svg \

--image migasfree \

--width="620" --height="450" \

--center --justify="center" --text-align="left" --button=Terminar:0

echo -e "\n\nGracias por la espera... \nAhora ya puedes cerrar la ventana ..."

) | yad --title "Asignación de Etiquetas Migasfree" \

--text-info --tail \

--text-align="center" \

--text "\n A continuación podrás asignar las Etiquetas Migasfree que desees para este equipo: \n<b>CID (${CID}) y HostName (${NOMBRE})</b>\n" \

--window-icon=/usr/share/lxpanel/images/vitalinux.svg \

--image migasfree \

--width="750" --height="550" --center --button "Cerrar Ventana":0

# Yad dialogo progress


# Progress Pulsate

if ! (

while ! wget -O /tmp/inet_connection_migasfree migasfree.educa.aragon.es > /dev/null 2>&1 ; do

echo "#No hay conexión al servidor ..."

sleep 1

done

) | yad --title "Asignación de Etiquetas Migasfree" \

--center --width 650 \

--text-align center \

--window-icon migasfree \

--image migasfree \

--text " Hay un problema de conexión con el servidor ... \n <b> Está el equipo conectado a Internet?...</b>\n" \

--progress --pulsate --auto-close --button="Cancelar la Asignación ... Lo Intentaré más tarde":1 ; then

exit 1

fi

if ! (

while ps -auxf | egrep '/usr/bin/migasfree --update|/usr/bin/migasfree-launcher' \

| grep -v 'egrep' | grep -v indicator &> /dev/null ; do

echo "#Esperando a que termine la comunicación actual con Migasfree ..."

sleep 1

done

) | yad --title "Asignación de Etiquetas Migasfree" \

--center --width 650 \

--text-align center \

--window-icon migasfree \

--image migasfree \

--text " Existe en este momento una comunicación activa con Migasfree ... \n <b> Debes esperar a que termine esta comunicación ...</b>\n" \

--progress --pulsate --auto-close --button="Cancelar la Asignación ... Lo Intentaré más tarde":1 ; then

exit 1

fi

# Progress Porcentaje

INCREMENTO=$(echo 100/$NUMPARAM | bc)

CONTADOR=0

(

echo "#Va a empezar la copia a ${DESTINO}..."

until [ -z "$1" ]

do

echo "#=> Copiando el archivo: $1 a $DESTINO ..."

if rsync -ahv "$1" "$DESTINO" ; then

RESULTADO="${RESULTADO}\n${1} -> $DESTINO/$(basename "${1}")"

else

TEXTO=" Error: No se ha podido copiar <b>$1</b> en <b>$DESTINO</b> ...\n ¿Problemas con permisos? (¿not root?)"

TITULO="Problemas al copiar $1 en Destino"

mensaje-error "$TITULO" "$TEXTO"

fi

CONTADOR=$(( CONTADOR + INCREMENTO))

echo $CONTADOR

shift

done

echo "#Ok!!! Ya se han terminado de copiar los archivos. Como Resultado: $RESULTADO"

echo "100"

) | yad --title "Herramienta para Crear BACKUP de Archivos" \

--window-icon vitalinux \

--image file1 \

--width 600 \

--center \

--progress --percentage=0 --button="Cerrar":0

# Yad dialogo notification


Nos permite colocar una notificación en la barra de tareas, y personalizar la imagen y sus menús en tiempo real:

! /bin/sh

-- mode: sh --

#Manage removable media - Author: Victor Ananjevsky , 2009

BASEDIR=/mnt/usb

PIPE=$(mktemp -u --tmpdir ${0##*/}.XXXXXXXX)

function on_exit () { echo "quit" >&3 rm -f $PIPE }

function on_unmount () { gsu umount $1 ret=$? if [[ $ret -eq 0 ]]; then notify-send -u normal -i drive-removable-media -t 900 \ "${1##/}" "${1##/} unmounted successfully" else notify-send -u critical -i drive-removable-media -t 1200 \ "${1##/}" "Unmount ${1##/} failed (error code $ret)!!!" fi }

function update_state () {

MENU= for d in $(find $BASEDIR -mindepth 1 -maxdepth 1 -type d); do MENU="${d##*/}!sh -c 'on_unmount $d'|$MENU" done if [[ -z $MENU ]]; then

echo "visible:false" >&3

else

echo "visible:true" >&3

echo "menu:$MENU" >&3

fi }

mkfifo $PIPE

exec 3<> $PIPE

export -f on_unmount

trap on_exit EXIT

yad --notification --kill-parent --listen \

--image=drive-removable-media --text="Removable media" \

--command="xdg-open $BASEDIR" <&3 &

update_state

inotifywait -m -e create -e delete $BASEDIR 2> /dev/null | while read LINE; do case $(echo $LINE | awk '{print $2}') in "CREATE,ISDIR") update_state ;; "DELETE,ISDIR") update_state ;; esac done ```

Para modificar el icono de la notificación en tiempo real:

echo "icon: nombre_icono" >&3