Timeline

Después de llevar un día usando timeline, llega a ser molesta la interrupción que se produce cada vez que toma una capura de pantalla, porque se produce un salto en el reproductor de música. Probé ejecutando manualmente xwd y luego scrot, y el problema ocurre siempre.

Así que escribí un pequeño programa que captura la pantalla usando las primitivas de GDK en vez de utilizar directamente X. Podría haber empleado gnome-panel-screenshot, pero no funciona en modo silencioso, por lo tanto, no sirve para tareas automatizadas.

El código es bastante sencillo:

screenshot = gdk_pixbuf_get_from_drawable (NULL,
gdk_get_default_root_window (),
NULL, 0, 0, 0, 0,
width, height);

El programa se llama screenshoter y la mayor parte del código radica en el procesamiento de las opciones. Para compilarlo:

$ gcc -Wall `pkg-config --libs --cflags gdk-2.0` \\
-lpopt screenshoter.c

Para ejecutarlo, hay que darle el nombre del archivo de salida (el formato siempre es PNG) y eventualmente el ancho y/o alto si es que se quiere redimensionar la imagen. Si entrega sólo una opcion (ancho o alto), entonces redimensiona manteniendo el aspecto. Por ejemplo, ejecutando:

$ ./screenshoter -w 400 shot.png

Se obtiene:

Screenshot