Добавление собственных элементов меню в Firefox |
[исправить] |
Добавим в меню "Инструменты" Firefox кнопку для быстрого включения и выключения
работы через прокси.
Настройками прокси управляет переменная network.proxy.type. При значении 0 -
прокси не используется, а при значении 5 - используется сервер заданный в
настройках рабочего стола, это легко увидеть меняя настройки и глядя на
закладку about:config. Задача - добавить меню с функцией которая изменяет
значение этой переменной.
Нужно отредактировать всего два файла
sudo vim /usr/lib/firefox-3.6.3/chrome/browser.jar
в полученном списке файлов выбираем файл content/browser/browser.xul находим
раздел подменю id="tools-menu" и добавляем туда новый пункт меню "Switch proxy"
(вставка должна соответствовать стандартам XML)
<menuseparator id="imageprefs"/>
<menuitem id="menu_switchproxy" label="Switch proxy" oncommand="switch_proxy()"/>
сохраняем и переходим в конец файла content/browser/browser.js и добавляем туда функцию
function switch_proxy(){
if (gPrefService.getIntPref("network.proxy.type") == 5) {
gPrefService.setIntPref("network.proxy.type", 0);
}else{
gPrefService.setIntPref("network.proxy.type", 5);
}
}
Сохраняем файл (если редактировать через vim то jar архив будет автоматически
обновлен) и перезапускаем Firefox.
Таким же образом можно сделать переключатель, управляющий анимацией и
автоматической закачкой картинок, для этого необходимо обрабатывать переменные:
image.animation_mode - true-включение анимации, false-выключение
permissions.default.image - 1-закачивать картинки, 2-не закачивать
|
|
|
|
Раздел: Корень / Пользователю / Работа с Web и Ftp |
1.1, sceptic (?), 00:26, 16/07/2010 [ответить]
| +/– |
А через ~/.mozilla/firefox/<profile>/chrome слабо сделать?
| |
|
2.6, ffsdmad (ok), 14:56, 17/07/2010 [^] [^^] [^^^] [ответить]
| +/– |
а можно чуть подробнее?
у меня в профиле скоро гигабайт данных будет, мне было проще разобраться в /usr/lib/firefox-3.6.3/chrome/browser.jar
| |
|
1.2, VasVovec (?), 09:46, 16/07/2010 [ответить]
| +/– |
Класс, нужная штука. А можно еще как-то для этого пункта меню горячую клавишу назначить?
Кстати, если под офтопиком, то этот файл я нашел только в одном месте:
C:\Program Files\Mozilla Firefox\chrome\browser.jar
| |
1.3, Filosof (ok), 15:49, 16/07/2010 [ответить]
| +/– |
Это называется XUL-программирование
+ сопутствующее JS программирование -:)
Довольно мощная и удобная штука, чтоб создавать браузрные интерфейсы на базе ФФ.
| |
1.4, axe (??), 19:47, 16/07/2010 [ответить]
| +/– |
давно хотел спросить. Почему внутри фаерфокса присутствует некий хром? Это совпадение?
| |
|
2.5, XoRe (ok), 11:23, 17/07/2010 [^] [^^] [^^^] [ответить]
| +/– |
>давно хотел спросить. Почему внутри фаерфокса присутствует некий хром? Это совпадение?
Это просто тезка гугловского хрома)
Оно так называлось задолго до рождения гуглового браузера.
| |
|
1.7, bunta (?), 16:18, 18/07/2010 [ответить]
| +/– |
А после обновления фокса снова переписывать? :)
Это делается через динамический оверлей, созданием своего мини-расширения. Юзайте xul & js.
| |
1.10, StrangeAttractor (ok), 23:49, 27/07/2010 [ответить]
| +/– |
Было бы интересно убрать ненужные пункты меню (например Send link рядом с Save link в контекстном меню при правом клике по ссылкам). Причём чтобы начисто. Планин редактор меню применяет свои твики только через пару минут после загрузки.
| |
|