Archivos de Mayo, 2008

Dividir líneas: Plugin para Gedit

Sábado, Mayo 17th, 2008

Existe un plugin o complemento para Gedit (el editor por defecto en Gnome) que permite unir/dividir líneas en un texto. Esto permite que si tenemos un texto con líneas demasiado largas, podamos dividirlas en líneas de por ejemplo 80 caracteres. Este plugin me estaba siendo muy útil para manejar los textos en LATEX. Sin embargo, debía ir haciendo la separación de líneas párrafo a párrafo, ya que el plugin sino mezclaba todos los parrafos en uno sólo. Para comprender lo que les digo, inténten usarlo.

Lo que hice fue hacer un parche para el plugin para que soporte párrafos. No es que haya tenido algún error ni nada, sino que esta funcionalidad me resulta más útil. Les dejo el parche, y adjunto además, un nuevo plugin igual al Unir/Dividir líneas pero con el parche aplicado para los que no quieran parchear el original. Éste tiene las mismas combinaciones de teclas, por lo que no será compatible a la vez con el otro (le cambie apenas el nombre para que no haya conflictos). Para utilizarlo cópienlo en su $HOME/.gnome2/gedit/plugins/

El plugin si se selecciona todo (CTRL+A), y se presiona la combinación de teclas (CTRL+SHIFT+J) funcionando logra lo siguiente (espero que las imagenes expliquen más que las palabras)

(CTRL+A)

(CTRL+SHIFT+J)

El parche a aplicar sobre /usr/lib/gedit-2/plugins/joinlines.py

220c220,221
<     while ord(char) and (not (char in (' ', '\t', '\n', '\r'))):
---
>     twoBL = False
>     while ord(char) and (not twoBL) and (not (char in (' ', '\t'))):           
222a224,233
>         if (char in ('\n', '\r')):
>             text_iter.forward_char()
>             char = text_iter.get_char()
>             if (char in ('\n', '\r')):
>                 while (char in ('\n', '\r')):
>                     text_iter.forward_char()
>                     char = text_iter.get_char()
>             else:
>                 text_iter.backward_char()
>             twoBL = True

Archivos del complemento modificados. Además el patch.
joinlines2.tar.gz

Actualización:
El que subí tenía un error (además que el parche era reverso). Ahora joinlines2.tar.gz apunta al script corregido. El parche anteriormente publicado se puede aplicar sobre el joinlines.py que trae Gedit. Debajo dejo un parche para corregir el error sobre mi script si ya lo están utilizando (o sea sobre joinlines2.py)

231d230
<                 twoBL = True
234c233
< 
---
>             twoBL = True

Wine RC 1.0 y winepreloader

Martes, Mayo 13th, 2008

En un post anterior, escribí acerca de un “bug” que tenía el winepreloader, el cual no permitía ejecutar aplicaciones de 16 bit o aquellas que requirieran el área de memoria ahora protegida por el kernel. Sin embargo en su release candidate 1.0 esto fue solucionado.

En este artículo donde muestro como correr Smalltalk Express con Wine, se explica como actualizar el respositorio para tener la última versión de Wine.

http://nacho.larrateguy.com.ar/2008/03/04/smalltalk-express-corriendo-con-wine-de-nuevo/

Actualización:
La solución al bug, se puede ver acá

winevdm: Move the DOS memory range check to not trigger for Win16 apps.