miércoles, 8 de junio de 2011 (Hace más de 2 semanas)
Bandeja sistema

Combinando un par de comandos (posiblemente tengas que instalar ksystraycmd ) podemos fácilmente construir una acceso rápido que nos envíe la ventana de cualquier aplicación a la bandeja del sistema con un simple clic.

Abre el menú para crear accesos rápidos ( kcmshell4 khotkeys ) y crea Nuevo acceso rápido global > Orden/URL. Asigna una combinación de teclas a tu gusto y en la solapa de Acción escribe:
ksystraycmd --hidden --wid $(xwininfo | grep " Window id:" | awk '{print $4}')
Una vez creada la nueva combinación ejecútala, verás que el cursor cambia a un puntero en forma de cruz, cliquea sobre cualquier ventana deseada y esta será minimizada a la bandeja del sistema desde donde puedes ocultarla, desocultarla, desempotrarla (restaurar situación anterior) y salir.
Es muy cómodo para mantener en ejecución consolas con lecturas de log, escaneando, conexiones de vídeo, y en general cualquier aplicación que queramos consultar a intervalos

lunes, 30 de mayo de 2011 (Hace más de 1 mes)

Un par de lineas que últimamente estoy añadiendo a los script que escribo en mi openSuse/KDE.

La idea es sencilla, puesto que muchos de estos script se ejecutan tanto desde una consola de texto como desde el menú de ejecución (ALT+F2) de KDE, lo correcto sería que dependiendo de la procedencia de esta llamada el script responda de una manera o de otra.
P.ejem: un script que devuelve la definición de una palabra después de consultar el diccionario online de la RAE, debería devolver el resultado en consola si fué llamado desde allí (incluso por otra aplicación) ó bien mostrar un cuadro de diálogo con el contenido si fué llamado desde el escritorio.

Salida dependiendo del contextoSalida dependiendo del contexto

El comando usado es tty que indica en que terminal estamos (/dev/pts/1) ó bien emite una advertencia del tipo: no es una consola. Pues listo, comprobamos si exite el /dev/pts/X en cuestión y caso negativo usamos kdialog:
#!/bin/sh
if [ -z $1 ];then exit 1; fi
if [ ! -f "/tmp/$1.tmp" ]; then
url="http://buscon.rae.es/draeI/SrvltGUIBusUsual?origen=RAE&LEMA="
user_agent="Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; es-ES)"
curl --silent --user-agent "$user_agent" "$url$1" | sed 's/]*>//gi' > "/tmp/$1.tmp"
fi
if [ -e $(tty) ]; then
#salida por consola tras formatearlo con LYNX
lynx -dump -force-html -hiddenlinks=ignore -nolist "/tmp/$1.tmp"
else
#salida a diálogo de KDE
/usr/bin/kdialog --textbox "/tmp/$1.tmp" 400 300 --title "RAE: $1"
fi

Voilá.

Nota: En el caso de la salida por consola formateamos el texto descargado (que llega en formato HTML) con ayuda de LYNX. En el caso de usar Kdialog simplemente usamos el diálogo textbox que admite un html básico.

sábado, 14 de mayo de 2011 (Hace más de 1 mes)

Un sencillo script que me hice ayer jugando la base de datos de Digikam4.
El splashscreen (de Digikam4 en este caso) es esa pantallita (normalmente una foto decorada) que aparece en el momento de lanzar la aplicación y mientras se cargan las librerias y plugins. Como en muchos otros programas es personalizable. Basta con poner una imagen PNG en ~/.kde4/share/apps/digikam/data/splash-digikam.png para que al iniciar el programa se use nuestra imagen en lugar de la que trae el programa. Ya hace tiempo colgué por aquí algunos ejemplos propios para Digikam/KDE3.

¿Y porqué no hacerlo dinámico? Una imagen diferente cada vez que se cargue Digikam, por ejemplo: El splash-screen será la última fotografía modificada cuyo RATING (el número de estrellitas,1-5, con que valoramos cada foto) sera superior a 2 (por ejem). Eso es lo que hacen las siguientes líneas.
Copialas en un archivo de texto, guardalas como ~/bin/splashd.sh y personalizalas:
#!/bin/bash
#nombre del archivo de la base de datos de Digikam4 (comprueba)
fileDB="digikam4.db"
#ruta absoluta al archivo anterior (cambialo)
pathDB="/home/album/Fotografia"
baseDatos="$pathDB/$fileDB"
#ruta de usuario (introduce tu username)
dirDestino="/home/tu-user/.kde4/share/apps/digikam"
#obtiene nombre de imagen y album de la última imagen modificada y cuyo rating se superior a 2
id=$(sqlite3 -list $baseDatos "SELECT b.album, b.name FROM imageinformation AS a INNER JOIN images AS b ON a.imageid=b.id WHERE a.rating<6 AND b.name LIKE '%.jpg' ORDER BY b.modificationDate DESC LIMIT 1")
#con lo anterior obtenemos el album en que se encuentra
foto=$(sqlite3 -list $baseDatos "SELECT a.relativePath,b.specificPath FROM albums AS a INNER JOIN albumroots AS b ON a.albumRoot=b.id WHERE a.id=${id/|*/} LIMIT 1")
#la ruta absoluta a la imagen es
fotografia=$(echo "$pathDB|$id|$foto" | awk -F "|" '{print $1""$4"/"$3}')
#a partir de la imagen seleccionada generamos el splashscreen
convert "$fotografia" -resize 500x -format PNG png:- | composite -gravity south "$dirDestino/over.png" - "$dirDestino/data/splash-digikam.png"

A continuación reemplazamos el binario de Digikam por otro script:sudo
mv /usr/bin/digikam /usr/bin/digikam-bin

En su lugar (/usr/bin/digikam) ponemos un script que diga:#!/bin/bash
digikam-bin $@ && sh /home/tu-user/bin/splashd.sh

Solo necesitais eso y el PNG que se superpone a vuestra fotografía con la decoración de Digikam ( descargar over.png . Guardalo en tu ~/.kde4/share/apps/digikam/over.png ). En adelante al salir de Digikam se genera el splashscreen tal y como veis en la fotografía de arriba y que será el que veais en el siguiente inicio de Digikam.

Actualización

He hecho un par de modificaciones en las lineas del script superior. Tal y como está ahora esas lineas toman la última foto modificada cuya puntuación sea menor de 6 (es decir, la última modificada entre todas puesto que la máxima puntuación es 5) y además que sea un JPG. Esto lo he incorporado porque el script falla si la última imagen es un vídeo ó un RAW

lunes, 9 de mayo de 2011 (Hace más de 1 mes)

Probablemente casi todos sepan ya en que consiste la fotografía HDR. Básicamente es la obtención de una imagen que acumula gran cantidad de información sobre la exposición de la escena a partir de la suma de varias imágenes con diferentes grados de exposición ( un ejemplo sobre el pueblo de Galera y como hacerlas en GNU/Linux). A continuación a esa imagen HDR resultante se le pueden aplicar varios algoritmos para obtener esas imágenes tan espectaculares que todos hemos visto alguna vez. Espectaculares y artificiales, ya que dependiendo del algoritmo utilizado y de los parámetros elegidos el resultado puede ser un imagen mostrando detalles en las zonas altas y bajas ó una verbena de colores que en algún momento llegó a ser una foto.

     
  Después de la tormenta (PseudoHDR)  
  Después de la tormenta (PseudoHDR)  

Pero hay forma mucho más rápida y sencilla de obtener un resultado similar al HDR (un PsedoHDR) de forma mucho más sencilla y rápida, y en algunos casos (especialmente en fotografía naturalista) mucho más convincente ya que el resultado respeta más el realismo de la escena.
Un PSEUDOHdr trata de producir una imagen que muestre la mayor cantidad de información en las zonas oscuras y claras sin desvirtuar excesivamente la escena original.
Dependiendo de la complejidad de dicha escena se pueden llegar a utilizar muchas imagenes (10-20), aunque lo clásico suele ser utilizar 3 exposiciones: una expuesta de forma según-camara, otra subexpuesta 2 puntos y otra sobreexpuesta 2 puntos. Para simplificar lo haremos con 2 imágenes, vereis que una vez visto el primer paso los demás son bastante evidentes… Sigue leyendo…

martes, 3 de mayo de 2011 (Hace más de 1 mes)

Firefox ya tiene beta de su versión 5.0 (aka Aurora) y están en plena campaña de difusión para captar testers que informen de errores y mejoras.

Si quereis participar o simplemente probar algo de lo que más tarde será Firefox v5 podeis ejecutar estas líneas en una consola con las cuales no es necesario reemplazar ninguna instalación previa ni modificar la actual ejecución de programas de vuestro sistema:
Descarga firefox 5.0 alfawget "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-aurora-l10n/firefox-5.0a2.es-ES.linux-i686.tar.bz2" -O "firefox5alfa.tar.bz2"Descomprimemkdir ~/bin/firefox5alfa && tar -jxvf firefox5alfa.tar.bz2 -C ~/bin/firefox5alfaEnlazaln -s ~/bin/firefox5alfa/firefox/firefox ~/bin/firefox5
Una vez completados estos 3 pasos ya puedes probar el nuevo Firefox 5 aurora simplemente escribiendo en una consola firefox5.

domingo, 17 de abril de 2011 (Hace 74 dias)

Pequeñas virguerías que te encuentras dando vueltas por los proyectos alojados en Code Google este de Plowshare.

Básicamente una serie (4) de scripts bash que permiten desde un terminal de texto subir y/o bajar archivos a los principales servidores de alojamiento gratuito (megaupload, rapidshare, Ashared, etc… hasta 24 servicios). Simplemente abre una consola y ejecuta plowdown http://ruta/archivo/a/descargar, el script se encarga de conectar con el servidor, simular click en el boton web, esperar los 45 seg, y descargar el archivo solicitado.
En algunos servicios incluso el script «lee» el Captcha necesario para descargar.

Si además estais registrados en alguno de estos servicios plowshare incorpora posibilidad de subir archivos al servidor, listar archivos en el servidor y borrar archivos.

Con esto, descargar una lista de archivos de forma completamente automatizada ó simplemente descargar un gran archivo a una hora programada (por aquello del tráfico menor) es terriblemente simple. Para descargar por ejemplo la Guia de la Fauna Vertebrada de Jaén que colgué en el servicio Ashared, hace unos dias, pero haciendolo a las 4 de la madrugada sería tan facil como echo 'plowdownload "http://www.Ashared.com/xxxxx/Guia_Fauna_Vertebrada.html" ' | at 4:00

Para instalarlo simplemente visita la página de versiones disponibles (tar.gz ó deb) y descarga la que necesitas. Puesto que es simplemente un script no necesita compilación ninguna, el instalador simplemente copia los archivos a /usr/local/share y linka los scripts bash en /usr/bin. Vaya que podeis hacerlo vosotros mismos sin necesidad de instalador.

Cuaderno de campo es un blog desarrollado y mantenido por Trebol-a y en el que escriben Trebol-a, Miguel, Merche y Mónica
Si quieres saber algo más sobre los autores acude a la página acerca-de, si quieres contactar con alguno de nosotros hazlo a través de contactar ó de Google+

Creative Commons: Todo el contenido de la web (imágenes, textos, vídeos, a excepción de aquellas obras de otros autores enlazados por Cuaderno de Campo) se acoge a los términos expresados en la licencia Creative Commons