hackwrench — webkit/pygtk browser

Начал делать браузер на базе python-webkitgtk
Профит в том, что можно будет писать расширения на python(последний раз такое было в epiphany-gecko)

Загрузить можно так:
hg clone http://code.tabed.org/hackwrench
Запустить так:
cd hackwrench/hackwrench
python -m gui

Чтобы запустить под windows надо скомпилировать python-webkitgtk(для этого придется, как минимум, скомпилировать webkit).
Я утянул себе всё что нужно для кросс-компиляции, но пока не пробовал.
Возможно придется убрать gconf из conf.py


Чем отличается от tabber_browser.py, который идет с python-webkitgtk:
— Закладки
— Консоль python
— Вкладки вверху окна(а-ля chrome)
— Вкладки можно двигать
— Поиск из адресной строки
— Запускает внешний менеджер закачек при загрузке файла
— Интерфейс на gtkbuilder(описан в xml файле, который можно редактировать с помощью glade)
— Поиск из адресной строки
— Автодополнение адресной строки из history
— History, история поисковых запросов
— Что-то типа speed dial (показывает наиболее посещаемые сайты из history)
— Настройки хранятся в gconf
— Поддерживает favicon`ы, кеширует их у себя в директории

Что ещё не доделано:
— Настройки можно редактировать только через gconf-editor
— Закладки нельзя двигать/переименовывать
— Поддержка других поисковиков кроме гугла
— History и закладки, наверное, лучше хранить в sqlite
— Менюшки всякие
— Консоль неюзабельна; нормальную консоль можно получить как-нибудь так:


$ ipython -gthread
>>> from hackwrench.gui import *
>>> br = WebBrowser()
>>> br.new_window()
>>> br.windows
Out: [<BrowserWindow object at 0xa8fcfcc (GtkBuilder at 0xa6c1190)>]
>>> br.windows[0].tabs
Out: [<Tab object at 0xa90225c (GtkVBox at 0xa958008)>]
>>> br.windows[0].active_tab
Out: <Tab object at 0xa90225c (GtkVBox at 0xa958008)>
>>> br.windows[0].active_tab.browser.open('http://ya.ru/')






P.S. patches are welcome pawn13@gmail.com

UPD приделал поддержку userscript`ов. сейчас скрипты устанавливаются без предупреждения при клике на *.user.js(fixed)

продолжение
Add post to:   Delicious Reddit Slashdot Digg Technorati Google
Make comment

Comments

Bardsley 9.03.2010 8:08

Наверно видели, но ссылку запощу =) http://www.opennet.ru/opennews/art.shtml?num=22202

gconf блин…. пожалуй uzbl в данном случае будет поинтереснее, не видели его, кстати?

gconf очень легко отрывается: cat conf.py |grep -v conf |grep -v e. |grep -v type >/tmp/conf.py mv /tmp/conf.py ./

gconf по крайней мере есть в любом дистре(а у большинства-установлен), а uzbl надо ставить из git

не везде, в арче время от времени собирают (аналогично mplayer-у)

в арче даже мою прогу собирают(qcon), так что я не удивлен:)

Интересуют участники? Могу поучаствовать. Пиши divius [точка] inside [собака] gmail.com

Интересуют участники? Могу поучаствовать. Пиши divius [точка] inside [собака] gmail.com

Required. 30 chars of fewer.

Required.

captcha image Please, enter symbols, which you see on the image