Estoy creándome un pequeño script a partir del ya existente "imageshack-upload-kde" del AUR de Arch. Básicamente se trata de añadir unos Kdialog y unas barricas de progreso a la aplicación "imageshack-upload" y añadir un servicemenu para Dolphin.
Soy un total novato en KDE pero si no recuerdo mal para añadir cualquier opción al menú desplegable hay que crear un servicemenu y localizarlo en su correspondiente directorio. En caso de ser accesible para todos los usuarios, tal y como he decidido, ha de situarse en: /usr/share/kde4/services. Pues bien, ahí tengo mi imageshack.desktop con el siguiente contenido:
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=image/png;image/jpeg;image/gif;image/bmp;image/tiff;application/x-shockwave-flash;
Actions=SubirImagen
[Desktop Action SubirImagen]
Name=Subir a Imageshack.us
Icon=background
Exec=upload-to-imageshack %F
Pues bien, no me aparece la opción "Subir a Imageshack.us" al hacer click derecho sobre ninguna imagen.
Problema dos. Como no soy ningún "gran programador" me decidí a modificar el ya mencionado existente script de "imageshack-upload" pero, claro, la comunicación en ese script se lleva a cabo mediante DCOP y KDE ahora utiliza D-BUS, no sé cómo adaptarlo... Este es el código:
#!/bin/sh
UPLOAD_SCRIPT=$(which imageshack-upload)
function animprogress()
{
i=1
while ( $(dcop $1 setProgress $i) )
do
i=$(($i + 5))
done
}
if [ ! -x $UPLOAD_SCRIPT ]
then
exit 1
fi
# Inicio de la animación de la barra de progreso
PROGRESS=$(kdialog --title "Enviar archivos" --progressbar "Enviando archivo 1/$# a Imageshack.us" 0)
animprogress $PROGRESS &
# Enviar archivos y obtener URl's
pos=0
message=""
rm -f /tmp/images.link
for i in "$@"
do
pos=$(($pos + 1))
dcop $PROGRESS setLabel "Enviando archivo $pos/$# a imageshack.us"
URL=$($UPLOAD_SCRIPT "$i" | grep http)
echo "${pos}: ${URL}" >> /tmp/images.link
done
# Mostrar las URl's de los archivos subidos
dcop $PROGRESS close
kdialog --title "La ruta del archivo es:" --textbox /tmp/images.link 600 150
rm -f /tmp/images.link
exit
¿Alguien me puede ayudar? ¡Muchas gracias!
EDITO: para lo segundo a lo mejor lo soluciono
aquí.