Summary: | не становиться умолчательным браузером, но очень хочет | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Zerg <anubix> | ||||||||||
Component: | firefox | Assignee: | Alexey Gladkov <legion> | ||||||||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||||||
Severity: | normal | ||||||||||||
Priority: | P3 | CC: | glebfm, legion, rauty, sbolshakov, zerg | ||||||||||
Version: | unstable | Keywords: | usability | ||||||||||
Hardware: | all | ||||||||||||
OS: | Linux | ||||||||||||
URL: | http://widehat.opensuse.org/repositories/home:/llunak:/mozilla/openSUSE_Factory/src/ | ||||||||||||
Bug Depends on: | 21678 | ||||||||||||
Bug Blocks: | 19564 | ||||||||||||
Attachments: |
|
Description
Zerg
2009-09-09 21:28:32 MSD
У меня в gnome вроде всё работает. Created attachment 3864 [details]
Пример кода для KDE3/4 на sh
Патч SuSE-специфичный. Его нужно изменить для ALT
(В ответ на комментарий №1)
> У меня в gnome вроде всё работает.
Забыл написать, что это в KDE*
(В ответ на комментарий №3) > Забыл написать, что это в KDE* Что это за shell-скрипт? Прошу сделать патч, который я могу приложить к исходникам. Также прошу учесть в патче, что такой скрипт добавит зависимость на KDE в firefox. Этого нужно избежать для пользователей, не использующих KDE. (В ответ на комментарий №4) > (В ответ на комментарий №3) > > Забыл написать, что это в KDE* > Что это за shell-скрипт? Я вроде по-русски точно описал. > Прошу сделать патч, который я могу приложить к исходникам. Я не умею JS, поэтому привел пример на SH, чтобы тебе было легче исправить оригинальный патч. > добавит зависимость на KDE в firefox. Не надо ничего добавлять. (В ответ на комментарий №5) > Я вроде по-русски точно описал. Я так понял, что вместо /usr/bin/kwriteconfig ты предложил вызывать этот скрипт. > Я не умею JS, поэтому привел пример на SH, чтобы тебе было легче исправить > оригинальный патч. У меня нет ни одной машины с KDE. Патч в слепую я буду писать долго. (В ответ на комментарий №6) > Я так понял, что вместо /usr/bin/kwriteconfig ты предложил вызывать этот > скрипт. Нет. Патч поправить, чтоб делал то же, что и скрипт. Т.е., в патче только для 1-го kde и путь к kwriteconfig прибит гвоздями. Т.е. то место, где shellObj.initWithPath("/usr/bin/kwriteconfig");, 2 раза сделать для каждого kwriteconfig 1. вычислить путь к каждому kwriteconfig 2. проверить, лежит ли он на диске 3. если лежит, добавить ему одни и те же аргументы и выполнить Разница только в путях к kwriteconfig и гвоздями их лучше не прибивать Но, если очень хочется попроще, то можно и прибить гвоздями Выполнить одно и то же для каждого элемента списка: /usr/bin/kwriteconfig /usr/lib/kde4/kwriteconfig Пути вроде устаканились. Если поломается, скажу, когда наткнусь. Ой, наврал /usr/bin/kwriteconfig /usr/lib/kde4/bin/kwriteconfig (В ответ на комментарий №7) > Нет. Патч поправить, чтоб делал то же, что и скрипт. Тогда всё будет сложнее. > 1. вычислить путь к каждому kwriteconfig Вот только вывод от команды в JS делается не так тривиально, как кажется. Сейчас я за это не возьмусь. Всё что сейчас могу сделать для вас это положить приведённый вами скрипт в firefox-support-kde, и вызывать его из JS. (В ответ на комментарий №9) > Ой, наврал > /usr/bin/kwriteconfig > /usr/lib/kde4/bin/kwriteconfig Ну или так. Это хоть и уродливо, но реализуемо. Конечно, правильнее было бы сделать так как сделано для GNOME (я про xulrunner-support-gnome), но раз никто не может осилить один модуль, то можно и захакать. (В ответ на комментарий №12) > xulrunner-support-gnome Я смотрел, там прилично работы. Да и куски раскиданы, обернутые #ifdef GNOME , а это уже фигово :-( (В ответ на комментарий №13) > Да и куски раскиданы, обернутые #ifdef GNOME , а это уже фигово :-( ifdef есть в основном коде только для того чтобы проверить наличие GNOME-specific поддержки. Вся остальная поддержка делается отдельными компонентами. 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). Не работает ни для одного KDE (В ответ на комментарий №16) > Не работает ни для одного KDE Эвенты шлются ? (В ответ на комментарий №17)
> Эвенты шлются ?
Какие куда? Где видно?
Нужно, чтоб команды выполнялись. Если не работает, значит не выполняются или выполняются не те, которые нужно.
(В ответ на комментарий №18) > (В ответ на комментарий №17) > > Эвенты шлются ? > Какие куда? Где видно? > Нужно, чтоб команды выполнялись. Если не работает, значит не выполняются или > выполняются не те, которые нужно. Вот я и хочу понять, дёргаются или нет утилиты. Этот код я правил в слепую, поэтому понятия не имею, рабочий он или нет. (В ответ на комментарий №19) > поэтому понятия не имею, рабочий он или нет. Попробуй создать скрипт /usr/bin/kwriteconfig или /usr/lib/kde4/bin/kwriteconfig и написать в нем любую отладку (В ответ на комментарий №20) > Попробуй создать скрипт /usr/bin/kwriteconfig или > /usr/lib/kde4/bin/kwriteconfig и написать в нем любую отладку Мне предётся выставить ещё KDE_FULL_SESSION. Кстати, когда ты пробовал firefox, эта переменная была выставлена ? Естественно. Завел специально нового польователя и запустил KDE4 c FF По ссылке посмотри MOzillaFireFox. Может, патч обновился. А то я в данный момент не могу скачать Дык! Нет в пакете этого патча (В ответ на комментарий №24) > Дык! Нет в пакете этого патча Какого "этого" ? (В ответ на комментарий №25)
> Какого "этого" ?
Никакого не нашел. Как он называется?
Торможу. Я ж в xulrunner смотрю Я ж написал пример команды. Если это вдруг выполниться, то KDE* вообще перестанет открывать ссылки http* Created attachment 3932 [details]
firefox-cross-desktop.patch
Created attachment 3933 [details] firefox-kde.patch Теперь просто эти 2 патча нужно. Не забудь вместе с этим #21678 (В ответ на комментарий №30) > Created an attachment (id=3933) [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 одновременно. Пока пробую его заставить работать... Наврал ... у меня сервис не грузится потому что у меня нет ни KDE, ни GNOME. 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). |