Итак некоторое время назад я познакомился с замечательным браузером midori один из его плюсов в том что он использует порт webkit на Gtk и таким образом он идеально вписывается в gnome. Об остальных плюсах ниже.
Меня долгое время останавливало то что midori казалось каким то недоделанным что ли. Но проблема оказалась вовсе не в нем. Сердце midori это webkit-gtk. Вот с него пожалуй и начну.
Самые свежие “ночные” сборки webkit можно взять тут nightly webkit для linux нужно то что после Source
либо прямо из svn http://svn.webkit.org/repository/webkit/trunk кому как будет проще.
#cd webkit-gtk/trunk/
#./autogen.sh
Тут будет много букв а потом
WebKit was configured with the following options:
Build configuration:
Enable debugging (slow) : no
Enable GCC build optimization : yes
Code coverage support : no
Unicode backend : icu
Font backend : freetype
Optimized memory allocator : yes
Features:
3D Transforms : no
JIT compilation : no (CPU ‘x86_64′ not supported)
Dashboard support : yes
Geolocation support : no
GNOME Keyring support : no
HTML5 offline web applications support : yes
HTML5 channel messaging support : no
HTML5 client-side session and persistent storage support : yes
HTML5 client-side database storage support : yes
HTML5 video element support : no
Icon database support : yes
SVG support : yes
SVG animation support : yes
SVG filters support : no
SVG fonts support : yes
SVG foreign object support : yes
SVG as image support : yes
SVG use element support : yes
WML support : no
Web Workers support : yes
XPATH support : yes
XSLT support : yes
GTK+ configuration:
GDK target : x11
Hildon UI extensions : no
#./configure && make && su -c ‘make install’
Так вот таким же образом собирает webkit-gtk и ebuild. Мне удалось собрать webkit вот с такими параметрами
WebKit was configured with the following options:
Build configuration:
Enable debugging (slow) : no
Enable GCC build optimization : yes
Code coverage support : yes
Unicode backend : icu
Font backend : freetype
Optimized memory allocator : yes
Features:
3D Transforms : yes
JIT compilation : no (CPU ‘x86_64′ not supported)
Dashboard support : yes
Geolocation support : yes
GNOME Keyring support : yes
HTML5 offline web applications support : yes
HTML5 channel messaging support : yes
HTML5 client-side session and persistent storage support : yes
HTML5 client-side database storage support : yes
HTML5 video element support : yes
Icon database support : yes
SVG support : yes
SVG animation support : yes
SVG filters support : yes
SVG fonts support : yes
SVG foreign object support : yes
SVG as image support : yes
SVG use element support : yes
WML support : no
Web Workers support : yes
XPATH support : yes
XSLT support : yes
GTK+ configuration:
GDK target : x11
Hildon UI extensions : no
Для Geolocation support нужна библиотека x11-libs/geoclue http://git.or.cz Geoclue is a modular geoinformation service built on top of the D-Bus messaging system.
WML support это собственно dev-lang/wml http://thewml.org/ Website META Language У меня увы не собирается.
Hildon UI extensions нужно для наладонников и мобильных телефонов так что меня не интересовало.
Для этого пришлось немного добавить в ebuild несколько новых опций и теперь я собираю его так net-libs/webkit-gtk-9999 USE=”3D-transforms channel-messaging coverage geolocation gnomekeyring gstreamer -pango soup sqlite svg svg-filters video xslt -debug -wml”
Так вот pango и делает тот страшный красный крестик, который меня смущал ранее, обратите внимание на то чтобы Font backend был freetype а инче увидите вот что
Последние сборки webkit-gtk требуют net-libs/libsoup-2.25.91 Таким образом у меня процесс установки webkit, после размаскирования всех необходимых зависимостей, выглядел следующим образом
#emerge =net-libs/libsoup-2.25.91; emerge x11-libs/geoclue; emerge webkit-gtk;
После того как немного разобрались с webkit-gtk приступим к основному.
Исходники Midori можно скачать либо с сайта либо из git
git clone git://git.xfce.org/kalikiana/midori
Для gentoo все выглядит опять же банально
#emerge www-client/midori
Для midori я использую такие флаги www-client/midori-9999 USE=”nls soup sqlite”
Итак после этого если вам повезет то у вас midori даже запустится! Если это так то не время расслабляться. Для начала рекомендую сходить на страницу midori faq там много полезного в частности замечательный wget.sh Остальные детали пытливый ум разглядит сам. Еще немного полезностей есть тут midori user scripts Если кому то все еще покажется этого мало то милости прошу на userscripts и userstyles и настраивайте дальше как хотите.
В архиве portage.tar.bz2 мой локальный репозиторий со всеми ebuild-ами.
По любым вопросам можно или сюда ну а кому надо средства связи со мной знают.



3D Transforms действительно работало?
комментарий от Boo — 08.07.2009 @ 09:21
Ну собирается без проблем потому флаг 3D Transforms и добавил а во вторых все тесты из /usr/portage/distfiles/svn-src/webkit-gtk/trunk/WebKitSite/demos/index.html или http://webkit.org/demos/ отрабатывают без вопросов.
комментарий от init_6 — 08.07.2009 @ 10:35
А у меня страницы нормально отображаются только под root’ом, а иначе все поля ввода и таблицы становятся маленькими, даже в google. arora на qt работает замечательно. В чём дело не пойму.
комментарий от evdovin — 09.08.2009 @ 11:00
evdovin в теме gtk у пользователя?
комментарий от init_6 — 09.08.2009 @ 11:26
Не понял?!
Тема GTK у меня настраивается в /etc/gtk-2.0/gtkrc и только там:
gtk-theme-name = “Clearlooks”
У пользователя ничего нет!
Удаление настроек midori не помогает.
Создал нового пользователя – у него тоже самое.
комментарий от evdovin — 09.08.2009 @ 19:19
У любого пользователя тема настраивается либо в ~/.gtkrc-2.0 либо в ~/.themes/НАЗВАНИЕ-ТЕМЫ/gtk-2.0/gtkrc
Было бы удивительно если бы помогло!
Знач так во первых удали файл ~/.gtkrc-2.0 если он у тебя есть во вторых запусти gnome-appearance-properties и выбери там тему.
комментарий от init_6 — 10.08.2009 @ 06:46
Ни ~/.gtkrc-2.0 ни ~/.themes/НАЗВАНИЕ-ТЕМЫ/gtk-2.0/gtkrc у меня нет, видимо за отсутсвием ГНОМА.
Запустить gnome-appearance-properties не могу за полным отсутствием ГНОМА, пользуюсь icewm’ом. Может в этом и дело? midori вроде не зависит от ГНОМА, или зависит?
libsoup даже специально пересобирал с опцией –without-gnome – не помогло.
комментарий от evdovin — 10.08.2009 @ 17:29
evdovin о настройках тем гнома без самого гнома написано немало.
комментарий от init_6 — 10.08.2009 @ 19:43
Гнома или гтк?
комментарий от evdovin — 11.08.2009 @ 16:02
Да midori под root’ом означает sudo midori.
комментарий от evdovin — 10.08.2009 @ 17:31
Страница http://www.google.ru
под пользователем выглядит так:
http://evdovin.pochta.ru/midori.png,
а под root’ом так:
http://evdovin.pochta.ru/midori-root.png
комментарий от evdovin — 09.08.2009 @ 19:37
Тема гтк у меня настроена и все гткшные приложения её используют, даже midori.
Какое отношение тема гтк имеет к содержимому страницы?
Кроме того, midori нормально отображает данную страницу.
комментарий от evdovin — 11.08.2009 @ 16:09
Ну да только у рута оно выглядит еще куда ни шло а у юзера полный абзац.
А что никакого да?
Приложение midori написано как не странно на gtk т.е. для отрисовки это приложение использует набор виджетов gtk разукрашеных при помощи тем оформление gtk/gnome. А есть у тебя гном или нет дела это не касается. Пример? На получи распишись
http://imagebin.ca/img/BEv4zaW.png
Окно midori слева тема оформления gnome “ясность” а справа на основе той же ясности но специально изменялись размеры виджетов. И как видишь во первых ну никакой разницы
во вторых от темы gnome внешний вид виджетов midori тоже не зависит ага
комментарий от init_6 — 11.08.2009 @ 17:24
Картинку не вижу, вместо неё “Sorry, you can’t do that from here.”
Создал нового прользователя, написал для него .xinitrc:
urxvt &
exec icewm
Никакого результата.
Менял тему гтк в /etc/gtk-2.0/gtkrc, лотального .gtk-2.0 нет, не помогает. Да, midori видит тему, но размеры полей ввода не те.
комментарий от evdovin — 12.08.2009 @ 16:11
Проблема решена!
Дело было вовсе не в теме гтк, а в шрифтах!
В системе присутствовал шрифт
/usr/share/fonts/TTF/arial.ttf с правами доступа 600. Midori, точнее webkit, пытался его использовать, хотя в настройках midori стоял DejaVuSans.
Изменение прав доступа на 644 решило проблему, при полном его отсутствие исжений при отображении страниц также не возникает.
Схожее поведение наблюдаось и с браузером uzbl (http://www.uzbl.org) также основанyом на webkit.
Баг ли это webkit’а и стоит ли писать багрепорт?
комментарий от evdovin — 13.08.2009 @ 18:13
Хех. Ну тогда я тоже
комментарий от Ростислав Лебедев — 24.08.2009 @ 21:37
Премного благодарен вам. Ваш сайт это хороший повод найти приятных и образованных людей, способных к конструктивным обсуждениям и критике.
комментарий от myukaht — 26.08.2009 @ 12:59