Gentoo itself is power

04.03.2009

webkit-gtk, midori и немного красноглазия…

Filed under: gentoo, gnome, linux, webkit-gtk — init_6 @ 13:51

Итак некоторое время назад я познакомился с замечательным браузером 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 а инче увидите вот что

midori acid3 pango

midori acid3 pango

Последние сборки 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-ами. wink.gif По любым вопросам можно или сюда ну а кому надо средства связи со мной знают.

midori acid2, acid3

midori acid2, acid3

About these ads

Комментарии (17) »

  1. 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

  2. А у меня страницы нормально отображаются только под 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

      • Тема GTK у меня настраивается в /etc/gtk-2.0/gtkrc и только там: gtk-theme-name = “Clearlooks”

        У любого пользователя тема настраивается либо в ~/.gtkrc-2.0 либо в ~/.themes/НАЗВАНИЕ-ТЕМЫ/gtk-2.0/gtkrc

        Удаление настроек midori не помогает.

        Было бы удивительно если бы помогло! :)

        Знач так во первых удали файл ~/.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

  3. Страница http://www.google.ru
    под пользователем выглядит так:
    http://evdovin.pochta.ru/midori.png,
    а под root’ом так:
    http://evdovin.pochta.ru/midori-root.png

    комментарий от evdovin — 09.08.2009 @ 19:37

  4. Тема гтк у меня настроена и все гткшные приложения её используют, даже midori.
    Какое отношение тема гтк имеет к содержимому страницы?
    Кроме того, midori нормально отображает данную страницу.

    комментарий от evdovin — 11.08.2009 @ 16:09

    • Тема гтк у меня настроена и все гткшные приложения её используют, даже midori.

      Ну да только у рута оно выглядит еще куда ни шло а у юзера полный абзац.

      Какое отношение тема гтк имеет к содержимому страницы?

      А что никакого да?
      Приложение 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

  5. Проблема решена!
    Дело было вовсе не в теме гтк, а в шрифтах!
    В системе присутствовал шрифт
    /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

  6. Хех. Ну тогда я тоже :)

    комментарий от Ростислав Лебедев — 24.08.2009 @ 21:37

  7. Премного благодарен вам. Ваш сайт это хороший повод найти приятных и образованных людей, способных к конструктивным обсуждениям и критике. :)

    комментарий от myukaht — 26.08.2009 @ 12:59


RSS-лента комментариев к этой записи. TrackBack URI

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s

Theme: Silver is the New Black. Блог на WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 39 other followers

%d bloggers like this: