суббота, 17 июля 2010 г.

Добавление собственных элементов меню в 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-не закачивать

Комментариев нет:

Отправить комментарий