Bug 4553

Summary: mozilla не появляется в контекстном меню
Product: Sisyphus Reporter: Andrei <lomov>
Component: mozillaAssignee: Alexey Gladkov <legion>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 4517    

Description Andrei 2004-06-29 21:51:53 MSD
После установки mozilla не появляется в контекстном меню
Comment 1 Andrei 2004-06-29 21:56:58 MSD
в контекстном меню *.html 
 
 
Comment 2 Alexey Gladkov 2004-06-30 14:49:00 MSD
А причем тут mozilla? она не часть вашего Оконного Менеджера и что у него есть 
какое-либо контекстное меню mozilla понятия не имеет. 
Сообщите об этой ошибке мантейнеру вашего Оконного Менеджера.
Comment 3 Sergey V Turchin 2004-06-30 14:52:37 MSD
(In reply to comment #2) 
> А причем тут mozilla? она не часть вашего Оконного Менеджера 
Она часть меню, а меню часть любого оконного менеджера. 
 
> и что у него есть  
> какое-либо контекстное меню mozilla понятия не имеет.  
Мантейнер понятия не имеет :-) 
 
> Сообщите об этой ошибке мантейнеру вашего Оконного Менеджера. 
Не отмажешься :-) 
 
Спроси меня, как! :-) 
 
Comment 4 Alexey Gladkov 2004-06-30 15:08:24 MSD
(In reply to comment #3)
> Она часть меню, а меню часть любого оконного менеджера. 
Это каким местом mozilla является частью _меню_ (именно mozilla, а не то что я с
ней пакую) ? :)

>  
> Мантейнер понятия не имеет :-) 
Именно mozilla.

> Не отмажешься :-) 
И не собираюсь.
 
> Спроси меня, как! :-)  
Как? 
Comment 5 Sergey V Turchin 2004-06-30 16:39:54 MSD
(In reply to comment #4) 
> > Мантейнер понятия не имеет :-)  
> Именно mozilla. 
нет, у всех, кто имеет, всё появляется в контекстном меню везде, где надо :-) 
  
> > Спроси меня, как! :-)   
> Как?  
В меню-файле нужно указать параметры 
mimetypes="text/html" 
станет появляться в контекстном меню 
extra_command="mozilla %u" 
со значением этого параметра - проблема, 
т.к. не будут открываться все URL, можно что-то типа 
ps x |grep -q '[m]ozilla' && mozilla -remote openURL\(%u, new-tab\) || mozilla 
\"%u\" 
но остается проблема, описанная в #4517 
 
Т.е. требуется твоя помощь. 
Нужно определить как из командной строки открыть локальный файл, содержащий 
пробелы в пути. 
 
Comment 6 Sergey V Turchin 2004-06-30 16:46:54 MSD
(In reply to comment #4) 
> Это каким местом mozilla является частью _меню_  
> (именно mozilla, а не то что я с ней пакую) ? :) 
Мне все равно даже то, под какие архитектуры ее можно собрать :-) 
В пакете mozilla ( ты ведь про Mozilla? :-) ) есть файл /usr/lib/menu/mozilla, 
являющийся частью меню. 
 
Кстати, ты ведь не читал ftp.altlinux.ru/pub/people/zerg/menu/ 
Можешь взять оттуда mozilla.desktop, запаквать его в /usr/share/applications 
и сгенерировать из него menu-файл при помощи freedesktop2menu.pl из menu-devel 
Лучше это делать каждый раз при сборке, т.к. freedesktop2menu.pl будет 
меняться. 
 
Comment 7 Alexey Gladkov 2004-06-30 17:05:33 MSD
(In reply to comment #5)
> В меню-файле нужно указать параметры 
> mimetypes="text/html" 
Принято. добавлю.

> Т.е. требуется твоя помощь. 
> Нужно определить как из командной строки открыть локальный файл, содержащий 
> пробелы в пути. 
Если эти пробелы не разделители аргументов, то можно
extra_command="/usr/lib/mozilla/mozilla-bin \"%u\""

и все должно работать.
Comment 8 Alexey Gladkov 2004-06-30 17:26:02 MSD
(In reply to comment #6)
> Кстати, ты ведь не читал ftp.altlinux.ru/pub/people/zerg/menu/ 
> Можешь взять оттуда mozilla.desktop, запаквать его в /usr/share/applications 
> и сгенерировать из него menu-файл при помощи freedesktop2menu.pl из menu-devel 
> Лучше это делать каждый раз при сборке, т.к. freedesktop2menu.pl будет 
> меняться. 
Как будет время я остараюсь добавить поддержку стандарта меню freedesktop и
испралю эту багу и наверно это закроет #4517.
Comment 9 Sergey V Turchin 2004-06-30 17:28:33 MSD
(In reply to comment #7) 
> Если эти пробелы не разделители аргументов, то можно 
> extra_command="/usr/lib/mozilla/mozilla-bin \"%u\"" 
> и все должно работать. 
Не работает процитируй пожалуйтся команду, открывающую файл, 
в пути к которому есть пробелы. 
 
Comment 10 Sergey V Turchin 2004-06-30 17:31:43 MSD
(In reply to comment #9) 
> Не работает 
Ой! Не доглядел, это решение проблемы!!! 
Comment 11 Sergey V Turchin 2004-06-30 17:45:27 MSD
(In reply to comment #7) 
> Если эти пробелы не разделители аргументов, то можно 
Да, не разделители 
 
> extra_command="/usr/lib/mozilla/mozilla-bin \"%u\"" 
> и все должно работать. 
Нет, не работает при запущенной мозилле :-( 
Видимо нужно именно модифицировать команду 
ps x |grep -q '[m]ozilla' && mozilla -remote openURL\(%u, new-tab\) 
|| /usr/lib/mozilla/mozilla-bin "%u" 
в районе между && и || 
Comment 12 Sergey V Turchin 2004-06-30 17:48:16 MSD
Можно пробовать прямо из терминала, kde не при чем, 
потом вместо "URL" вставить \"%u\" и поместить в параметр 
extra_command меню-файла. 
 
Comment 13 Alexey Gladkov 2004-06-30 18:19:28 MSD
Ну тогда уж
mozbin='/usr/lib/mozilla/mozilla-bin'; if [ -z "$(pidof $mozbin)" ]; then $mozbin
 \"%u\"; else $mozbin -remote openURL\(\"$z\",new-tab\); fi

правда это все полная фигня. Этим и занимаются скрипты /usr/bin/mozilla и 
/usr/lib/run-mozilla.sh, но они разберают список аргументов и поэтому происходит 
бня с пробелами ... приведенный выше скрипт это упрощение работы этих скриптов до 
одной строчки.
Comment 14 Sergey V Turchin 2004-06-30 18:46:49 MSD
(In reply to comment #13) 
> правда это все полная фигня. 
к тому же pidof не умеет учитывать UID только запустившего пользователя 
(вообще повод для FR на него) 
 
 
> Этим и занимаются скрипты /usr/bin/mozilla и  
> /usr/lib/run-mozilla.sh, но они разберают список аргументов и поэтому 
происходит  
> бня с пробелами ... приведенный выше скрипт это упрощение работы этих 
скриптов до  
> одной строчки. 
Так скрипты исправить как-нибудь? 
 
Comment 15 Alexey Gladkov 2004-06-30 20:30:03 MSD
(In reply to comment #14)
> Так скрипты исправить как-нибудь? 
>  
Я пока не знаю как. Ты бы видел эти скрипты :( ... вообщем, пока можно 
пользоваться выше приведенной бней ... пока я не поправлю скрипты.
Comment 16 Sergey V Turchin 2004-06-30 21:33:21 MSD
(In reply to comment #15) 
> пользоваться выше приведенной бней ... пока я не поправлю скрипты. 
Ок, тогда пока впиши в menu-файл 
mimetypes="text/html" 
extra_command="/usr/lib/mozilla/mozilla-bin \"%u\"" 
хуже, чем сейчас наверное не будет, т.к. если пользователь настраивает 
ассоциацию вручную, то команда запуска будет из параметра command. 
Но эта команда попадет для запуска mozilla в меню KDE. 
Т.е. если из меню для первого запуска mozilla она подходит, то все ок. 
 
Comment 17 Andrei 2004-07-01 07:37:18 MSD
В мастере 2.2 скрипты, кстати, работают 
 
Comment 18 Andrei 2004-07-01 13:21:07 MSD
Пока удалось оживить в таком виде: 
 
1) Все хозяйство в один скрипт mozilla.m: 
 
================= 
$ cat /usr/local/bin/mozilla.m 
 
mozbin='/usr/lib/mozilla/mozilla-bin' 
if [ -z "$(pidof $mozbin)" ] 
 then $mozbin "$1" 
  else $mozbin -remote openURL\("$1",new-window\) 
  fi 
  
#(см. слэши!) 
================== 
 
Запуск в меню: 
 
mozilla.m "%u" 
 
============= 
 
Одна странность: 
 
Если не открыто ни одного окна мозиллы, 
то, скажем, три запуска mozilla.m без аргументов  
открывают только одно окно с дефолтным  URL 
file:///usr/share/doc/HTML/index.html. 
 
Если после этого запустить mozilla.m с каким-либо URL, отличным от дефолтного, 
открывается этот URL и еще два "потерявшихся" дефолтных окна. 
 
 
 
Comment 19 Sergey V Turchin 2004-07-01 16:45:10 MSD
нельзя использовать pidof, он показывает чужие процессы 
Comment 20 Andrei 2004-07-02 17:25:45 MSD
 
Нарыл нечто интересное  
касательно проблемы первого запуска в KDE. 
 
 
Пишу скрипт mozilla.m: 
 
if [ -z "`ps x |grep '[m]ozilla' `" ]  
 then kwrite  
 else kate  
  
  
Делаю в консоли  
$ mozilla.m 
 
Если мозилла запущена, стартует kate, 
если нет, то kwrite. Нормально. 
 
Теперь завожу кнопку "Mozilla" на панели KDE, 
в свойствах:  
"Общие" - <alt-mozilla-2> 
"Приложение" - имя <Mozilla>, команда <mozilla.m "%u"> 
 
Внимание, фокус. 
 
Жму на кнопку.  
Если мозилла запущена, стартует kate, 
если НЕ запущена, то тоже kate (!). 
 
 
Делаем замену в скрипте: 
[m]ozilla 
на  
[m]ozilla-bin 
  
 
Теперь все окей, запуск кнопкой дает то же, что и в консоли. 
 
Почему так, вроде ясно. 
 
 
В итоге костыль пока такой: 
 
$ cat /usr/local/bin/mozilla.m 
 
mozbin='/usr/lib/mozilla/mozilla-bin' 
   
  if [ -z "`ps x |grep '[m]ozilla-bin' `" ]  
  then $mozbin "$1"  
  else $mozbin -remote openURL\("$1",new-window\)  
  fi  
 
   
И вызов в меню <mozilla.m "%u"> 
 
 
Единственный сучок, что открытие нескольких файлов сразу (через выделение 
мышой) 
проходит только при уже запущенной ранее мозилле, иначе открывается только 
один файл. 
 
Comment 21 Alexey Gladkov 2004-07-02 18:16:58 MSD
Все что вы превели это только подпорки. Нужно патчить свкрипт 
/usr/lib/mozilla/run-mozilla.sh 
Comment 22 Alexey Gladkov 2004-08-11 13:35:59 MSD
исправлено в 1.7.2
Comment 23 Sergey V Turchin 2005-09-05 12:34:43 MSD
2 Andrei: Закрывайте  
Comment 24 Andrei 2005-09-05 14:14:01 MSD
Я не могу проверить, сами закройте, пожалуйста :) 
Нет у меня сейчас новой мозилы, 
просто некогда.