2011-03-05 23:46

De Vicenzo: un mini browser más copado

Parece que hubieran sido solo unos días desde que empecé este proyecto. Ah, epa, sí, fué hace unos días nomás!

Si no querés leer eso de nuevo, la idea es ver cuánto código falta para convertir el motor WebKit de Qt en un browser "en serio".

Para ello, me puse una meta completamente arbitraria de 128 líneas de código. En este momento lo declaro feature-complete (pero buggy).

Los nuevos features son:

  • Tabbed browsing (se puede agregar/sacar tabs)
  • Bookmarks (se pueden agregar/sacar y elegir de una lista)

Esto es lo que ya funcionaba:

  • Zoom in (Ctrl++)
  • Zoom out (Ctrl+-)
  • Reset Zoom (Ctrl+=)
  • Buscar (Ctrl+F)
  • Esconder búsqueda (Esc)
  • Botones de atrás/adelante y recargar
  • Entrada de URL que coincide con la página + autocompletado desde la historia + arregla la URL puesta a mano (agrega http://, esas cosas)
  • Plugins (incluído flash, que hay que bajar aparte ;-)
  • El título de la ventana muestra el título de la página (sin propaganda del browser)
  • Barra de progreso para la carga de la página
  • Barra de estado que muestra el destino de los links cuando pasas el mouse
  • Toma una URL en la línea de comando (o abre http://python.org
  • Multiplataforma (funciona donde funciona QtWebKit)

Y cuanto código es eso? 87 LINEAS.

O si preferís la versión que cumple con la PEP8: 115 LINEAS.

Me atajo antes que alguien lo diga: sí, el motor de rendering y el toolkit son enormes. Lo que escribí es el "chrome" alrededor de eso, igual que hacen Arora, Rekonq, Galeon, Epiphany, y muchos otros browsers.

Es un chrome simple y minimalista, pero funciona bastante bien, creo yo.

Aquí está el demo (buggy):

Mas o menos hace lo que esperaba que se puediera lograr, pero le faltan arreglos.

Para ver el código, vayan a su home page: http://devicenzo.googlecode.com

Comentarios

Comments powered by Disqus

Contents © 2000-2019 Roberto Alsina