lunes, 30 de diciembre de 2013

Banderas en el applet del teclado de Cinnamon

En mi trabajo uso un teclado con distribución de teclas para inglés, y esta es la configuración que uso la mayoría del tiempo, pero también tengo otra para español. El nombre que Cinnamon le da a la disposición de teclas para los teclados mexicanos es "Spanish (Latin American)".

Cuando tienes varias configuraciones de teclado, aparece un indicador en la barra de estado para que sepas cuál es la configuración activa:






El problema es que el indicador falla para mi otra configuración:




Esto sucede porque el applet trata de desplegar el ícono correspondiente al nombre del país, pero les faltó tomar en cuenta casos como latinoamérica.

Para arreglarlo, solo hay que crear una copia de tu ícono favorito en /usr/share/cinnamon/applets/keyboard@cinnamon.org/flags y renombrarlo a "latam.png".


domingo, 31 de marzo de 2013

GoPro Time-lapse

En mi cumpleaños pasado recibí una GoPro Hero 3. Es una excelente cámara de acción que además de grabar videos, puede tomar fotos a intervalos fijos que podemos después convertir en un video tipo "time-lapse". Convertir las fotos en un video es fácil. Primero hay que convertirlas al tamaño correcto y recortarlas para que quepan dentro de un cuadro de video. En este caso quiero crear un video de 1920x1080, por lo que ajustamos las imágenes respectivamente:

for i in *.JPG; do convert "$i" -gravity center -resize 1920x -crop "1920x1080+0+0" +repage "resized/$i"; done

El comando anterior hace los ajustes necesarios a todas las imágenes del directorio. Primero les cambia el tamaño a 1920px horizontales de forma proporcional, y después las recorta de forma centrada. Ahora que tenemos todas las imágenes en el tamaño correcto, es solo cuestión de unirlas para generar el video:

mencoder "mf://*.JPG" -mf fps=30 -o timelapse.avi -ovc x264


Actualización
El comando original para convertir el tamaño de las imágenes funciona, pero es muy tardado cuando estamos lidiando con cientos de fotos. Para mejorar la velocidad, podemos usar xargs para ejecutar la misma instrucción en paralelo:

find -name '*.JPG'| xargs --max-procs=10 -n1 -l -I file convert "file" -gravity center -resize 1920x -crop "1920x1080+0+0" +repage "resized/file"

Estoy limitando el número de procesos a 10, pero puedes incrementar ese número a lo que mejor te funcione. Si tienes instalado GNU Parallel, todavía mejor:

find . -name "*.JPG" | parallel -j+0 --bar convert {} -gravity center -resize 1920x -crop "1920x1080+0+0" +repage resized/{/}

lunes, 21 de enero de 2013

Como configurar el MX Revolution en Mint 14

Acabo de comprar un ejemplar más del fantástico Logitech MX Revolution. En mi opinión, es el mejor mouse que ha existido. No entiendo por qué fue descontinuado.

Anteriormente, usaba una aplicación llamada "btnx" que me permitía asignar funciones diferentes a cada uno de los 10 botones. Lamentablemente, esta aplicación ya no funciona correctamente con los kernels mas recientes. Sin embargo, logré configurarlo utilizando xbindkeys y hasta ahora me ha funcionado bien.

Éstos son los pasos a seguir:

  • Instalar xbindkeys:
    sudo apt-get install xbindkeys xautomation
  • Guardar la siguiente configuración en ~/.xbindkeysrc :
    # Increase Volume (Thumb Up)
    "/usr/bin/xte 'key XF86AudioRaiseVolume' &"
      b:13
    
    # Decrease Volume (Thumb Down)
    "/usr/bin/xte 'key XF86AudioLowerVolume' &"
      b:15
      
    # Mute (Thumb Press)
    "/usr/bin/xte 'key XF86AudioMute' &"
      b:17
    
    # Next song (Scroll right)
    "/usr/bin/xte 'key XF86AudioNext' &"
      b:7
    
    # Pause/Play (Scroll left)
    "/usr/bin/xte 'key XF86AudioPlay' &"
      b:6
      
    # Emulate middle mouse button when search button is pressed
    # Search button is keycode 225 = 0xE1
    # Remember to unassign existing keyboard shortcuts in the settings app
    "/usr/bin/xte 'mouseclick 2' &"
    c:0xe1
    
  • Agregar xbindkeys a las aplicaciones de inicio

Con eso queda listo. Si se hacen cambios en la configuración, es necesario reiniciar xbindkeys usando
killall -HUP xbindkeys