Advertisement
cesarzeta

iconidesk

Jun 20th, 2015
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.69 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. while true
  4. do
  5.     # Borramos los archivos temporales de apoyo del ciclo anterior.
  6.     if [ -f /tmp/montados ];then rm /tmp/montados;fi
  7.     if [ -f /tmp/iconizados ];then rm /tmp/iconizados;fi
  8.     if [ -f /tmp/iconizados1 ];then rm /tmp/iconizados1;fi
  9.     # Comprobamos si hay medios montados y guardamos la lista en un archivo temporal. En mi caso se montan en /media/cesarzeta.
  10.     if [ -d /media/cesarzeta ];then ls /media/cesarzeta >> /tmp/montados;fi
  11.     ls /home/cesarzeta/.idesktop >> /tmp/iconizados
  12.     # Limpiamos el directorio /home/cesarzeta/.idesktop de los archivos de íconos que no son permanentes.
  13.     while read line
  14.     do
  15.         if [[ "$line" != "home.lnk" && "$line" != "musica.lnk" && "$line" != "peliculas.lnk" && "$line" != "playlists.lnk" && "$line" != "backups.lnk" ]]
  16.         then
  17.             rm /home/cesarzeta/.idesktop/$line
  18.         fi
  19.     done < /tmp/iconizados
  20.     # 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.
  21.     let pos=500
  22.     # 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.
  23.     # 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.
  24.     if [ -f /tmp/montados ]
  25.     then
  26.         while read line
  27.         do
  28.             if [[ "$line" != "" && ! -f /home/cesarzeta/.idesktop/$line.lnk ]]
  29.             then
  30.                 caption=$line
  31.                 let pos=$pos+100
  32.                 echo "table Icon" >> /home/cesarzeta/.idesktop/$caption.lnk
  33.                 echo "Caption: $caption" >> /home/cesarzeta/.idesktop/$caption.lnk
  34.                 echo "Command: pcmanfm /media/cesarzeta/$caption" >> /home/cesarzeta/.idesktop/$caption.lnk
  35.                 echo "Icon: /home/cesarzeta/.icons/FaenzaWolfe/places/48/folder.png" >> /home/cesarzeta/.idesktop/$caption.lnk
  36.                 echo "Width: 56" >> /home/cesarzeta/.idesktop/$caption.lnk
  37.                 echo "Height: 56" >> /home/cesarzeta/.idesktop/$caption.lnk
  38.                 echo "X: 49" >> /home/cesarzeta/.idesktop/$caption.lnk
  39.                 echo "Y: $pos" >> /home/cesarzeta/.idesktop/$caption.lnk
  40.                 echo "end" >> /home/cesarzeta/.idesktop/$caption.lnk
  41.             fi
  42.         done < /tmp/montados
  43.     fi
  44.     # Comprobamos que archivos de íconos tenemos creados luego del loop y guardamos la lista en un archivo temporal.
  45.     # Si la lista difiere de la que teníamos al inicio del loop reiniciamos idesk.
  46.     ls /home/cesarzeta/.idesktop >> /tmp/iconizados1
  47.     if [ "$(cat /tmp/iconizados)" != "$(cat /tmp/iconizados1)" ]
  48.     then
  49.         killall idesk && idesk &
  50.     fi
  51.     # 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.
  52.     sleep 5
  53.    
  54. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement