rodocop
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору #kmFAQ Цитата: в Вашей сборке menus.cfg лежит в browser\defaults\settings\ , нужно там править, или создать menus.cfg в папке \profile\? | файлов этих в КМ два типа: дефолтный (по умолчанию) и пользовательский. Содержимое второго "накладывается" поверх первого в процессе запуска браузера. Если вы пишете изменения в системный (browser\defaults\settings) - они будут грузиться по-любому в любой профиль этой инсталляции КМ. Но (!) при обновлении браузера файл будет заменен новым, где ваших правок, естественно, нет. Чтобы сохранять свои правки, и существует пользовательский файл в профиле. Он сохраняется при обновлении. а кроме того, свои настройки таким образом можно легко хранить на будущее, для переноса и т.п. В папке browser\defaults\profile лежат "шаблоны" пользовательских файлов настроек, которые попадут в каждый вновь создаваемый профиль. Но если вы уже работаете в браузере, то правка этого файла не отразится в существующем профиле - туда отредактированный шаблонный пользовательский menus.cfg надо будет скопировать поверх старого вручную. Теперь о разнице в редактировании и о формате файла меню в целом: каждое стандартное меню (знание о существовании которого прошито в kmeleon.exe) настраивается в menus.cfg и имеет такой формат Код: URLBar{ !Edit &Paste And Go=macros(Go_Paste) } , где: URLBar{ – внутреннее название меню, после которого идут команды, определяющие его состав !Edit – такая команда означает, что в данное меню входит меню 'Edit' в качестве вложенного (ну вы видели, что многие менюшки КМ как бы состоят из секций). Вложенное меню может быть inline (т.е. еще одна секция по вертикали вниз) или popup (т.е. вложенное всплывающее меню со стрелочкой вправо). Тип меню определяется не здесь, а там, где меню создается (обычно это kmm-файлы, т.е. макросы. Стандартные меню прописываются в main.kmm и других "системных" макросах, плюс каждый новый макрос-расширение может создавать свои меню и подменю) &Paste And Go=macros(Go_Paste) – команда, напрямую задающая пункт меню, соответствующий тому или иному макросу* (до знака равенства идет отображаемый текст пункта меню; после - исполняемая команда) } | * слово "макрос" в КМ - означает не только целые kmm-файлы, но и отдельные "команды" внутри этих файлов. Т.е., говоря по-английски, одна такая команда, определяющая некое действо - это "макро", а целый файл, где таких команд может быть сколько угодно - "макрос". Но по-русски в этом возникает некоторая путаница. Для примера приведу макро Go_Paste на который ссылается меню в приведенном примере: Код: Go_Paste{ macroinfo=_("Open Clipboard contents as URL"); $URLBAR=getclipboard(); id(ID_NAV_GO); } | Он прописан в файле main.kmm и собственно определяет, что браузеру делать когда к этой команде обращается пользователь через меню (или, к примеру, другой макрос). Так вот, в чем разница редактирования, если вам надо добавить в существующее меню: - когда вы правите дефолтный menus.cfg, то в нем уже все имеющиеся меню прописаны, поэтому вы просто находите блок нужного меню и дописываете туда свою команду. - а вот пользовательский файл изначально пуст и, чтобы КМ знал, куда вы добавляете пункт меню, надо его прописать точно так же, как в дефолтном, но только внутри должны быть только вносимые или изменяемые вами команды. На примере добавления команды копирования текста ссылки, рассмотренного выше по ветке: чтобы внести его в пользовательский файл menus.cfg, надо туда прописать целый блок: Код: LinkCopy{ &Copy=ID_EDIT_COPY|ID_COPY_LINK_LOCATION } | а чтобы то же самое "прошить" в дефолтный - надо просто найти блок меню Код: LinkCopy{ ... (здесь идут команды, прописанные в нем по умолчанию) } | и в нужное место вставить 1 строчку: Код: &Copy=ID_EDIT_COPY|ID_COPY_LINK_LOCATION | Что же касается нашего случая с меню для адресной строки, то как раз тут код, который надо вносить в любой из двух файлов - одинаков. Просто потому что "из коробки" этого меню вообще нет. Дориан сделал так, что по умолчанию используется, как и раньше, системное меню (наследуемое из Windows), но любой пользователь может прописать у себя меню КМ - и тогда оно заменит собой системное. Добавлено: Цитата: ВСЕ пакеты изменений, расширений и исправлений в КМ должны создаваться (и создаются - уж официальные и мои - точно) с расчетом на простую распаковку архива внутри рабочей папки имеющегося браузера с перезаписью существующих файлов. Т.к. архив сохраняет структуру каталогов браузера то имеющиеся в нем файлы автоматом ложатся в нужные места и вам надо только согласиться на замену старых. Остальные файлы (которые данное исправление не затрагивает) остаются на месте без изменений. Добавлено: Цитата: Но у меня не прежился, прилипает в процессах и хрен закроеш. | simonsat, попробуйте установить расширение Foolproof Terminator - оно специально создано для того, чтобы принудительно закрывать процесс Камелеона, если он по каким-то причинам сам этого не делает. | Всего записей: 1614 | Зарегистр. 21-12-2005 | Отправлено: 12:18 31-08-2015 | Исправлено: rodocop, 18:07 10-10-2015 |
|