Un navegador para Linux en 2 Kb: milagro del minimalismo

Hace poco aparecía en UbuntuForums
un hilo de discusión en el que se hablaba de navegadores web
ligeros
. En aquel hilo aparecieron algunos candidatos como
Dillo, pero de repente un usuario publicó un pequeño script de apenas
1,5 kilobits que lograba permitir la navegación por páginas web.

El logro se basa, como dicen en el blog Seamos
Realistas
, en el uso de gtk y de la librería libwebkit-gtk,
con lo que conseguimos una especie de Midori muy simplificado.
En el artículo original hablan de otros proyectos similares como uzbl o Surf, pero en este caso lo
tenemos todo en un pequeño script.

Este milagro del minimalismo deja claro que con un poquito de
esfuerzo y elegancia es posible conseguir algo tan singular con muy
poquito código. Atención al script:

#!/usr/bin/env python
import sys
import gtk
import webkit
DEFAULT_URL = 'http://www.google.com' # Change this as you Wish
class SimpleBrowser: # needs GTK, Python, Webkit-GTK
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self.window.connect('delete_event', self.close_application)
self.window.set_default_size(350, 20)
vbox = gtk.VBox(spacing=5)
vbox.set_border_width(5)
self.txt_url = gtk.Entry()
self.txt_url.connect('activate', self._txt_url_activate)
self.scrolled_window = gtk.ScrolledWindow()
self.webview = webkit.WebView()
self.scrolled_window.add(self.webview)
vbox.pack_start(self.scrolled_window, fill=True, expand=True)
self.window.add(vbox)
def _txt_url_activate(self, entry):
self._load(entry.get_text())
def _load(self, url):
self.webview.open(url)
def open(self, url):
self.txt_url.set_text(url)
self.window.set_title('%s' % url)
self._load(url)
def show(self):
self.window.show_all()
def close_application(self, widget, event, data=None):
gtk.main_quit()
if __name__ == '__main__':
if len(sys.argv) > 1:
url = sys.argv[1]
else:
url = DEFAULT_URL
gtk.gdk.threads_init()
browser = SimpleBrowser()
browser.open(url)
browser.show()
gtk.main()

Para ejecutarlo bastará con que copiéis el script en un fichero de
texto, lo renombréis a algo tipo “minibrowser.py” y le
deis permisos de ejecución:

chmod +x minibrowser.py

Y para abrir cualquier página, por ejemplo la de GUTL, escribiríais:

python minibrowser.py http://gutl.jovenclub.cu

¡Fantástico!

¿Te resultó interesante? Compártelo ...



GUTL

Publicado por GUTL

Forma parte de GUTL desde el 6 diciembre, 2011.