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.
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
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.
./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?
ciao, hai provato ad installare python-webkit?
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
a questo punto ho provi a compilare https://code.google.com/p/pywebkitgtk/
oppure inserisci i repo testing:
#Squeeze
deb https://ftp.it.debian.org/debian/ squeeze main contrib non-free
deb-src https://ftp.it.debian.org/debian/ squeeze main contrib non-free
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…