SimpleBrowser il più piccolo ed il più veloce del mondo

 

 

Sembra un esagerazione ma è la pura è semplice verità, forse :), sto parlando di un browser in Python + Webkit/GTK dal peso di solo 1,5 KB che al test Acid3 ha 100/100 e non solo, mentre iceweasel si ferma a 93/100. Certo non si hanno tutte le comodità di un browser normale, ma considerando quanto risorse occupa ho deciso di adottarlo sul mio acer aspire one, del resto per una semplice navigazione è perfetto, quindi consiglio di provarlo. Faccio i complimenti all'autore che negli ultimi giorni non ha ricevuto i giusti meriti.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import sys
import gtk
import webkit
 
DEFAULT_URL = 'https://www.edmondweblog.com'
 
class SimpleBrowser:
 
    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(800, 600)
 
        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.txt_url, fill=False, expand=False)
        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('SimpleBrowser - %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()

salviamo questo script come browser.py

$ chmod a+x browser.py

e lo lanciamo con:

$ python browser.py

in caso di problemi con la formattazione del testo, si può scaricare da qua.

Autore: Franco Conidi aka edmond

Senior System Integrator, Network Administrator, Sys Admin Linux, Linux User, Consulente Informatico.

7 pensieri riguardo “SimpleBrowser il più piccolo ed il più veloce del mondo”

  1. Bell'idea!
    è leggermente lentuccio però
    e non ha almeno i tasti avanti/indietro
    e cosa grave non aggiunge il prefisso https://
    ma se ben fatto, potrebbe essere qualcosa di proprio buono per i netbook

  2. Bhe… i tasti avanti/indietro li trovi col tasto dx del mouse, dopo che hai inserito un'altra url. Certo, la cosa che da più fastidio e che il nuovo link non viene visualizzato nella barra.

  3. ./browser.py
    Traceback (most recent call last):
      File "./browser.py", line 7, in <module>
        import webkit
    ImportError: No module named webkit
     
    Su debian stable, ed apt non mi aiuta…
    Qualche suggerimento?

  4. Eh, magari!
    apt-cache show python-webkit
    W: Impossibile trovare il pacchetto python-webkit
    E: Nessun pacchetto trovato
     
    E come ho detto apt non mi aiuta:
    apt-cache search webkit python
    python-pastewebkit – port/reimplementation of Webware WebKit in WSGI and Paste
     

  5. Ci rinuncio: con la compilazione:
    Requested 'webkit-1.0 >= 1.1.10' but version of WebKit is 1.0.1
    Di aggiungere altri pacchetti non standard non lo faccio mai.
    Comunque grazie per il tentativo, magari ci riprovo tra qualche mese quango squeeze sarà in stable quindi aggiornero' i miei vari pc…

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *