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 = 'http://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.

Share on Twitter

Post simili (o quasi):

  1. Cambiare browser predefinito in Debian & Co   Io come browser uso Iceweasel, ma in una installazione...
  2. Gnome-Voice-Control su Debian Squeeze         Gnome-Voice-Control è un applet che serve...
  3. Iceweasel 4 su Debian Squeeze/Wheezy         Come ottenere il nostro amato browser...
  4. Iceweasel 5 su Debian Wheezy/Sid         Ho provato iceweasel 5 su Debian...
  5. Download Script con Gui     Questo è uno script per il download che...

7 Risposte a “SimpleBrowser il più piccolo ed il più veloce del mondo”
  1. JPage89 scrive:
    Google Chrome 6.0.423.0 GNU/Linux 64 bits
    Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/6.0.423.0 Safari/534.1

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

    Like or Dislike: Thumb up 0 Thumb down 0

  2. edmond scrive:
    Debian IceWeasel 3.5.9 GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.1.9) Gecko/20100501 Iceweasel/3.5.9 (like Firefox/3.5.9) GTB7.1

    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.

    Like or Dislike: Thumb up 0 Thumb down 0

  3. Mor scrive:
    Debian IceWeasel 3.0.6 Debian GNU/Linux 64 bits
    Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.19) Gecko/2010033022 Iceweasel/3.0.6 (Debian-3.0.6-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?

    Like or Dislike: Thumb up 0 Thumb down 0

  4. edmond scrive:
    Debian IceWeasel 3.5.9 GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.1.9) Gecko/20100501 Iceweasel/3.5.9 (like Firefox/3.5.9) GTB7.1

    ciao, hai provato ad installare python-webkit?

    Like or Dislike: Thumb up 0 Thumb down 0

  5. Mor scrive:
    Debian IceWeasel 3.0.6 Debian GNU/Linux 64 bits
    Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.19) Gecko/2010033022 Iceweasel/3.0.6 (Debian-3.0.6-3)

    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
     

    Like or Dislike: Thumb up 0 Thumb down 0

  6. edmond scrive:
    Debian IceWeasel 3.5.9 GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.1.9) Gecko/20100501 Iceweasel/3.5.9 (like Firefox/3.5.9) GTB7.1

    a questo punto ho provi a compilare http://code.google.com/p/pywebkitgtk/

    oppure inserisci i repo testing:

    #Squeeze
    deb http://ftp.it.debian.org/debian/ squeeze main contrib non-free
    deb-src http://ftp.it.debian.org/debian/ squeeze main contrib non-free

    Like or Dislike: Thumb up 0 Thumb down 0

  7. Mor scrive:
    Debian IceWeasel 3.0.6 Debian GNU/Linux 64 bits
    Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.19) Gecko/2010033022 Iceweasel/3.0.6 (Debian-3.0.6-3)

    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…

    Like or Dislike: Thumb up 0 Thumb down 0

  8.  
Scrivi un Commento

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">