Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- while true
- do
- # Borramos los archivos temporales de apoyo del ciclo anterior.
- if [ -f /tmp/montados ];then rm /tmp/montados;fi
- if [ -f /tmp/iconizados ];then rm /tmp/iconizados;fi
- if [ -f /tmp/iconizados1 ];then rm /tmp/iconizados1;fi
- # Comprobamos si hay medios montados y guardamos la lista en un archivo temporal. En mi caso se montan en /media/cesarzeta.
- if [ -d /media/cesarzeta ];then ls /media/cesarzeta >> /tmp/montados;fi
- ls /home/cesarzeta/.idesktop >> /tmp/iconizados
- # Limpiamos el directorio /home/cesarzeta/.idesktop de los archivos de íconos que no son permanentes.
- while read line
- do
- if [[ "$line" != "home.lnk" && "$line" != "musica.lnk" && "$line" != "peliculas.lnk" && "$line" != "playlists.lnk" && "$line" != "backups.lnk" ]]
- then
- rm /home/cesarzeta/.idesktop/$line
- fi
- done < /tmp/iconizados
- # Fijamos la posición 'y' del último ícono permanente, 'x' va a ser siempre 49 en mi caso. Esto se usa para la posición del ícono en la pantalla.
- let pos=500
- # Comprobamos los volúmenes extraíbles o internos montados luego del inicio y creamos el archivo que idesk va a usar para construir el link.
- # Cada ícono creado va a tomar como valor de 'y' el 'y' del ícono anterior + 100. Los valores de 'x' e 'y' que determinan la posición del ícono son a gusto del usario.
- if [ -f /tmp/montados ]
- then
- while read line
- do
- if [[ "$line" != "" && ! -f /home/cesarzeta/.idesktop/$line.lnk ]]
- then
- caption=$line
- let pos=$pos+100
- echo "table Icon" >> /home/cesarzeta/.idesktop/$caption.lnk
- echo "Caption: $caption" >> /home/cesarzeta/.idesktop/$caption.lnk
- echo "Command: pcmanfm /media/cesarzeta/$caption" >> /home/cesarzeta/.idesktop/$caption.lnk
- echo "Icon: /home/cesarzeta/.icons/FaenzaWolfe/places/48/folder.png" >> /home/cesarzeta/.idesktop/$caption.lnk
- echo "Width: 56" >> /home/cesarzeta/.idesktop/$caption.lnk
- echo "Height: 56" >> /home/cesarzeta/.idesktop/$caption.lnk
- echo "X: 49" >> /home/cesarzeta/.idesktop/$caption.lnk
- echo "Y: $pos" >> /home/cesarzeta/.idesktop/$caption.lnk
- echo "end" >> /home/cesarzeta/.idesktop/$caption.lnk
- fi
- done < /tmp/montados
- fi
- # Comprobamos que archivos de íconos tenemos creados luego del loop y guardamos la lista en un archivo temporal.
- # Si la lista difiere de la que teníamos al inicio del loop reiniciamos idesk.
- ls /home/cesarzeta/.idesktop >> /tmp/iconizados1
- if [ "$(cat /tmp/iconizados)" != "$(cat /tmp/iconizados1)" ]
- then
- killall idesk && idesk &
- fi
- # Ponemos un retardo de 5 segundos. Yo recomiendo y prefiero 10 segundos. La única consecuencia es tener que esperar unos segundos que el ícono aparezca.
- sleep 5
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement