Bug 21509 - не становиться умолчательным браузером, но очень хочет
: не становиться умолчательным браузером, но очень хочет
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/firefox)
: unstable
: all Linux
: P3 normal
Assigned To:
:
: http://widehat.opensuse.org/repositor...
: usability
: 21678
: 19564
  Show dependency tree
 
Reported: 2009-09-09 21:28 by
Modified: 2009-10-15 21:01 (History)


Attachments
firefox-cross-desktop.patch (3.30 KB, patch)
2009-09-09 21:28, Zerg
no flags Details | Diff
Пример кода для KDE3/4 на sh (357 bytes, text/plain)
2009-09-09 21:48, Zerg
no flags Details
firefox-cross-desktop.patch (1.16 KB, patch)
2009-09-23 21:22, Zerg
no flags Details | Diff
firefox-kde.patch (15.81 KB, patch)
2009-09-23 21:23, Zerg
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2009-09-09 21:28:32
Created an attachment (id=3863) [details]
firefox-cross-desktop.patch

После положительного ответа на вопрос "Хотите стану умолчательным браузером?" в
KDE он им не становиться.
Патч взят из пакета MozillaFirefox
http://download.opensuse.org/repositories/mozilla:/Factory/openSUSE_Factory/src/
------- Comment #1 From 2009-09-09 21:32:23 -------
У меня в gnome вроде всё работает.
------- Comment #2 From 2009-09-09 21:48:43 -------
Created an attachment (id=3864) [details]
Пример кода для KDE3/4 на sh

Патч SuSE-специфичный. Его нужно изменить для ALT
------- Comment #3 From 2009-09-09 21:49:38 -------
(В ответ на комментарий №1)
> У меня в gnome вроде всё работает.
Забыл написать, что это в KDE*
------- Comment #4 From 2009-09-09 22:15:17 -------
(В ответ на комментарий №3)
> Забыл написать, что это в KDE*

Что это за shell-скрипт?

Прошу сделать патч, который я могу приложить к исходникам. Также прошу учесть в
патче, что такой скрипт добавит зависимость на KDE в firefox. Этого нужно
избежать для пользователей, не использующих KDE.
------- Comment #5 From 2009-09-09 22:20:06 -------
(В ответ на комментарий №4)
> (В ответ на комментарий №3)
> > Забыл написать, что это в KDE*
> Что это за shell-скрипт?
Я вроде по-русски точно описал.

> Прошу сделать патч, который я могу приложить к исходникам.
Я не умею JS, поэтому привел пример на SH, чтобы тебе было легче исправить
оригинальный патч.

> добавит зависимость на KDE в firefox.
Не надо ничего добавлять.
------- Comment #6 From 2009-09-09 22:25:12 -------
(В ответ на комментарий №5)
> Я вроде по-русски точно описал.

Я так понял, что вместо /usr/bin/kwriteconfig ты предложил вызывать этот
скрипт.

> Я не умею JS, поэтому привел пример на SH, чтобы тебе было легче исправить
> оригинальный патч.

У меня нет ни одной машины с KDE. Патч в слепую я буду писать долго.
------- Comment #7 From 2009-09-09 22:36:24 -------
(В ответ на комментарий №6)
> Я так понял, что вместо /usr/bin/kwriteconfig ты предложил вызывать этот
> скрипт.
Нет. Патч поправить, чтоб делал то же, что и скрипт.
Т.е., в патче только для 1-го kde и путь к kwriteconfig прибит гвоздями.

Т.е. то место, где shellObj.initWithPath("/usr/bin/kwriteconfig");, 2 раза
сделать для каждого kwriteconfig
1. вычислить путь к каждому kwriteconfig
2. проверить, лежит ли он на диске
3. если лежит, добавить ему одни и те же аргументы и выполнить

Разница только в путях к kwriteconfig и гвоздями их лучше не прибивать
------- Comment #8 From 2009-09-09 22:41:04 -------
Но, если очень хочется попроще, то можно и прибить гвоздями
Выполнить одно и то же для каждого элемента списка:
/usr/bin/kwriteconfig
/usr/lib/kde4/kwriteconfig
Пути вроде устаканились. Если поломается, скажу, когда наткнусь.
------- Comment #9 From 2009-09-09 22:42:51 -------
Ой, наврал
/usr/bin/kwriteconfig
/usr/lib/kde4/bin/kwriteconfig
------- Comment #10 From 2009-09-09 22:43:31 -------
(В ответ на комментарий №7)
> Нет. Патч поправить, чтоб делал то же, что и скрипт.

Тогда всё будет сложнее.

> 1. вычислить путь к каждому kwriteconfig

Вот только вывод от команды в JS делается не так тривиально, как кажется.
Сейчас я за это не возьмусь.

Всё что сейчас могу сделать для вас это положить приведённый вами скрипт в
firefox-support-kde, и вызывать его из JS.
------- Comment #11 From 2009-09-09 22:44:28 -------
(В ответ на комментарий №9)
> Ой, наврал
> /usr/bin/kwriteconfig
> /usr/lib/kde4/bin/kwriteconfig

Ну или так. Это хоть и уродливо, но реализуемо.
------- Comment #12 From 2009-09-09 22:46:30 -------
Конечно, правильнее было бы сделать так как сделано для GNOME (я про
xulrunner-support-gnome), но раз никто не может осилить один модуль, то можно и
захакать.
------- Comment #13 From 2009-09-09 22:52:47 -------
(В ответ на комментарий №12)
> xulrunner-support-gnome
Я смотрел, там прилично работы.
Да и куски раскиданы, обернутые #ifdef GNOME , а это уже фигово :-(
------- Comment #14 From 2009-09-09 23:19:26 -------
(В ответ на комментарий №13)
> Да и куски раскиданы, обернутые #ifdef GNOME , а это уже фигово :-(

ifdef есть в основном коде только для того чтобы проверить наличие
GNOME-specific поддержки. Вся остальная поддержка делается отдельными
компонентами.
------- Comment #15 From 2009-09-21 18:51:40 -------
firefox-3.5.3-alt0.20090918 -> sisyphus:

* Sun Sep 20 2009 Alexey Gladkov <legion@altlinux> 3.5.3-alt0.20090918

- New snapshot (3.5.3 20090918).
- Set firefox as default KDE/KDE4 browser (ALT#21509).
- Update desktop file (ALT#21510).
- Update requires (ALT#21533).
------- Comment #16 From 2009-09-23 15:42:03 -------
Не работает ни для одного KDE
------- Comment #17 From 2009-09-23 16:03:20 -------
(В ответ на комментарий №16)
> Не работает ни для одного KDE

Эвенты шлются ?
------- Comment #18 From 2009-09-23 16:10:27 -------
(В ответ на комментарий №17)
> Эвенты шлются ?
Какие куда? Где видно?
Нужно, чтоб команды выполнялись. Если не работает, значит не выполняются или
выполняются не те, которые нужно.
------- Comment #19 From 2009-09-23 16:49:17 -------
(В ответ на комментарий №18)
> (В ответ на комментарий №17)
> > Эвенты шлются ?
> Какие куда? Где видно?
> Нужно, чтоб команды выполнялись. Если не работает, значит не выполняются или
> выполняются не те, которые нужно.

Вот я и хочу понять, дёргаются или нет утилиты. Этот код я правил в слепую,
поэтому понятия не имею, рабочий он или нет.
------- Comment #20 From 2009-09-23 17:00:19 -------
(В ответ на комментарий №19)
> поэтому понятия не имею, рабочий он или нет.
Попробуй создать скрипт /usr/bin/kwriteconfig или
/usr/lib/kde4/bin/kwriteconfig и написать в нем любую отладку
------- Comment #21 From 2009-09-23 17:06:06 -------
(В ответ на комментарий №20)
> Попробуй создать скрипт /usr/bin/kwriteconfig или
> /usr/lib/kde4/bin/kwriteconfig и написать в нем любую отладку

Мне предётся выставить ещё KDE_FULL_SESSION.
Кстати, когда ты пробовал firefox, эта переменная была выставлена ?
------- Comment #22 From 2009-09-23 17:09:59 -------
Естественно. Завел специально нового польователя и запустил KDE4 c FF
------- Comment #23 From 2009-09-23 17:11:51 -------
По ссылке посмотри MOzillaFireFox. Может, патч обновился.
А то я в данный момент не могу скачать
------- Comment #24 From 2009-09-23 17:19:30 -------
Дык! Нет в пакете этого патча
------- Comment #25 From 2009-09-23 17:34:16 -------
(В ответ на комментарий №24)
> Дык! Нет в пакете этого патча

Какого "этого" ?
------- Comment #26 From 2009-09-23 17:35:44 -------
(В ответ на комментарий №25)
> Какого "этого" ?
Никакого не нашел. Как он называется?
------- Comment #27 From 2009-09-23 17:36:14 -------
Торможу. Я ж в xulrunner смотрю
------- Comment #28 From 2009-09-23 17:40:25 -------
Я ж написал пример команды. Если это вдруг выполниться, то KDE* вообще
перестанет открывать ссылки http*
------- Comment #29 From 2009-09-23 21:22:11 -------
Created an attachment (id=3932) [details]
firefox-cross-desktop.patch
------- Comment #30 From 2009-09-23 21:23:53 -------
Created an attachment (id=3933) [details]
firefox-kde.patch

Теперь просто эти 2 патча нужно.
Не забудь вместе с этим #21678
------- Comment #31 From 2009-10-14 22:08:37 -------
(В ответ на комментарий №30)
> Created an attachment (id=3933) [details] [details]
> firefox-kde.patch

Этот патч не будет работать:

 ifeq ($(MOZ_WIDGET_TOOLKIT), gtk2)
-CPPSRCS = nsGNOMEShellService.cpp
+CPPSRCS = nsUnixShellService.cpp nsGNOMEShellService.cpp nsKDEShellService.cpp
 REQUIRES    += \
         mozgnome \
              ^^^^^^^^^^^^^^
         thebes \
         $(NULL)
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
 endif

Таким образом ShellService хочет поддержку гнома. Возможно, достаточно
доустановить xulrunner-gnome-support.

Собственно до запуска kwriteconfig дело не доходит в первом патче т.к.

    var shellSvc = Components.classes["@mozilla.org/browser/shell-service;1"]
                            
.getService(Components.interfaces.nsIShellService);

обламывается. Это и есть ShellService, который должен уметь работать c GNOME и
KDE одновременно.

Пока пробую его заставить работать...
------- Comment #32 From 2009-10-14 22:19:10 -------
Наврал ... у меня сервис не грузится потому что у меня нет ни KDE, ни GNOME.
------- Comment #33 From 2009-10-15 21:01:32 -------
firefox-3.5.3-alt0.20091010 -> sisyphus:

* Sun Oct 11 2009 Alexey Gladkov <legion@altlinux> 3.5.3-alt0.20091010

- New snapshot (3.5.3 20091010).
- KDE: Update patches (ALT#21509).