domingo, 22 de septiembre de 2013

Un Portapapeles en la Nube

Me gusta combinar scripts con las bondades de Linux (como qdbus) ya que con muy poco esfuerzo e ingenio podemos hacer cosas bastante interesantes que nos pueden hacer la vida frente al computador relativamente más cómoda.

En esta ocasión implementaremos una serie de scripts para que cada vez que copiemos algo a nuestro portapapeles (Klipper, en este caso) tengamos una copia en la nube. Así por ejemplo, si nos encontramos con una página interesante que nos gustaría seguir viendo después en otro computador o dispositivo, bastará con copiar la dirección y ya la tendremos directamente accesible desde la nube.

Materiales:

  •     xbindkeys: Programa que nos permite crear atajos de teclado.
  •     xmodmap: Utilidad para cambiar el comportamiento de algunos atajos.
  •     xvkbd: Utilidad para emulación de teclado.
  •     Una cuenta en Copy o Dropbox. Ambos con clientes Linux y Android.

xbindkeys no viene en la instalación por defecto para openSUSE 12.3 por lo que iremos al OBS y buscaremos la versión (inestable) que corresponde a nuestro openSUSE (One-Clic Install). Particularmente instalé la versión que estaba en el repo Utilities dejando sin suscripción al repositorio después de instalar.

xmodmap ya estaba instalado en el sistema por defecto. Para instalar xvkbd sólo bastará hacerlo de la manera usual:

# zypper in xvkbd

Esto es lo que haremos con todo lo que hemos instalado: Crearemos un atajo de teclado que llamará un script nuestro. Dicho script hará dos cosas: primero simular la combinación control+c y segundo recuperar lo que hayamos copiado al portapapeles para enviarlo a nuestro archivo en la nube.

Lo primero que haremos será crear el archivo configuración por defecto de xbindkeys para nuestro usuario, haciendo lo siguiente en una consola/terminal:

$ xbindkeys --defaults > $HOME/.xbindkeysrc 

Ahora editaremos el archivo con algún editor simple. Debemos comentar o borrar los ejemplos que vienen habilitados. Deberían quedar así con un # al inicio de cada línea, de la siguiente forma:

# Examples of commands:

#"xbindkeys_show"
 # control+shift + q

# set directly keycode (here control + f with my keyboard)
#"xterm"
#  c:41 + m:0x4

# specify a mouse button
#"xterm"
#  control + b:2


Viendo los ejemplos podemos darnos cuenta que la estructura de este archivo es:
"comando, aplicación o script a ejecutar"
  combinación de teclas

Al final del archivo entonces agregaremos lo siguiente:
"~/bin/super_copiar.sh"
  m:0x50 + c:54

Primera línea: nuestro script (que aún no creamos) con su ruta. En la segunda línea he puesto la combinación de teclas que en mi teclado corresponde a super+c (tecla del innombrable Windows). Cómo saber cuál es el código para vuestros teclados? Usaremos el comando:

$ xbindkeys -k

Se abrirá una ventanita y a continuación presionamos la combinación de teclas super+c y nos aparecerá en la consola el código asociado.

Guardamos los cambios en nuestro archivo y lo cerramos.

Para poder usar la tecla super en combinación de otras debemos ejecutar el siguiente comando antes:

$ xmodmap -e "remove mod4 = Super_L"

Ya estamos casi listos. Ahora debemos crear nuestro script llamado super_copiar.sh en la ruta /home/nombre_de_usuario/bin. Para eso abriremos un editor de texto (kate, kwrite, nano, etc) y pondremos lo siguiente:

#!/bin/bash
xvkbd -xsendevent -text "\Cc"
qdbus org.kde.klipper /klipper org.kde.klipper.klipper.getClipboardHistoryItem 0 >> ~/Dropbox/Historial.txt

El primer comando de este script usa la utilidad xvkbd para simular que se ha presionado la combinación de teclas Control+c. El segundo comando lo que hace es recuperar el más reciente texto agregado a klipper y pegarlo al final de un archivo de texto llamado Historial.txt que se encuentra en nuestra carpeta sincronizada en la nube (Dropbox o Copy). Guardamos los cambios, cerramos y le damos permisos de ejecución:

$ chmod +x ~/bin/super_copiar.sh 

Finalmente ejecutaremos xbindkeys y probaremos que funcione seleccionando algún texto y presionamos super+c (o la combinación que hayan elegido). Verán que el archivo Historial.txt se va poblando felizmente con nuestro clipboard.

Alcances menores
He elegido super+c en vez de sobreescribir el control+c habitual pues porque la privacidad es importante, así enviaremos exactamente sólo lo que nos interesa tener en la nube mediante una combinación de teclas alternativa.

Es probable que debamos ejecutar al inicio de sesión el comando xmodmap y la activación de xbindkeys. Para eso podemos hacer un script simple llamado atajos_de_teclado.sh y pondremos lo siguiente:

#!/bin/bash
/usr/bin/xmodmap -e "remove mod4 = Super_L"
/usr/bin/xbindkeys

Guardamos los cambios, cerramos, damos permisos de ejecución y lo copiamos a nuestra carpeta ~/.kde4/Autostart

Eso sería todo. Como tarea pueden mejorar el script super_copiar.sh para agregar a cada línea la fecha y la hora en que el comando fue agregado a nuestro historial ;-)

domingo, 15 de septiembre de 2013

Lieksa!

"Dicen que el hombre nace tres veces.
La primera para equivocarse.
La segunda para aprender.
Y la tercera para entender."

Un extraño es acogido en la misma familia de los hombres que sin querer le han borrado la memoria. Vive con ellos su realidad, su inercia basada en una tradición familiar que es, al parecer, casi lo único que los mantiene unidos.

No es la típica historia donde los recuerdos del protagonista vuelven justo en el momento cliché adecuado. Su mensaje es más bien seguir adelante con lo que se tiene y sin detenerse a llorar el pasado.

Fue por el año 2008 cuando hice el secreto compromiso de ver Lieksa!. Todo empezó con la canción While Your Lips Are Still Red, cuya letra me hacía demasiado eco durante esos meses.

Justo ahora, cinco años después, llegó el momento de cumplir. Y es que Lieksa! va precisamente de eso: de darse cuenta de cuando se ha nacido de nuevo en esta vida.



miércoles, 11 de septiembre de 2013

You're not Alone

Esto me ha conmovido demasiado... resume mucho de lo que he creído y defendido buena parte de mi vida. Haberlo encontrado no es casualidad, es una reafirmación de que la sintonía desde lo más fundamental es clave.



lunes, 9 de septiembre de 2013

La Cuenta Regresiva

Actualización: Bon Jovi ha suspendido el concierto de hoy martes en DF por una operación de urgencia de Tico Torres. Veremos qué sucede con el resto de las fechas :-(

Hoy empieza la cuenta regresiva para el Bon Jovi Sound. Evidentemente ya tengo todo arreglado para el traslado, alojamiento y vuelta a Curicó, además de música para el viaje, pilas cargadas para la cámara (junto con algún tranquilizante natural pues me estresa de sobremanera viajar a Santiago).

Conseguir el pasaje de vuelta fue lo que más incertidumbre me causó, ya que justamente ese fin de semana se inicia para mucha gente la celebración de fiestas patrias por lo que el éxodo desde la ciudad será horrible.

Lo que realmente importa es que nada podrá opacar un setlist tan potente como este ;-)


Real Time Web Analytics