Firefox
26 June 2009

Оптимизация Extended Statusbar

В чем проблема?


По умолчанию информативность статусбара Лиса более чем скудная. Расширяется она с помощью Extended Statusbar, реализующего знакомый юзерам Оперы функционал.

Но тут возникает уже другая проблема — если другие расширения пожелают обосноваться в статусбаре, то станет чрезвычайно тесно. Например, во время загрузки страницы, когда там появляется прогресс-бар, не видно адресов ссылок, если навести на них курсор. И это при том, что у меня вроде как не самый маленький монитор.

Спасение заключается в том, что интерфейс расширения описывается простыми XML-файлами, которые можно подправить и получить желанный профит.

У меня Windows XP, поэтому пишу как надо делать для нее, за исключением первого шага это по-моему единственное, что будет отличаться от ОСи к ОСи.

Ловкость рук и никакого мошенничества

  1. В %APPDATA%/Mozilla/Firefox/Profiles/%profile%/extensions надо найти папку с нашим расширением. Она имеет длинное цифробуквенное имя, и что-то мне подсказывает что оно у всех разное (могу ошибаться).

  2. В указанной папке находим каталог chrome и в нем файл extendedstatusbar.jar, который можно открыть хотя бы даже WinRAR'ом

  3. В .jar-файле нас интересует файл локализации и шаблон собственно строки. Локаль находим в locale/ru-RU, файл extendedstatusbar.properties и строчки
    esb.document=Документ:
    esb.images=Изображения:
    esb.loaded=Загружено:
    esb.time=Время:
    esb.speed=Скорость:

    У себя я заменил их на
    esb.document=D:
    esb.images=I:
    esb.loaded=L:
    esb.time=T:
    esb.speed=S:

    Все-таки твик делаем под себя, да и вроде маразмом не страдем — не стоит бояться забыть, что значат эти таинственные буковки.

  4. Теперь: /content/extendedstatusbar.xul
    В нем

    <label id=«ESB_images_label» tooltiptext="&esb.loadedimages;" width="???" flex=«1»/>

    <stack id=«ESB_loaded_working_box» tooltiptext="&esb.dataloaded;" width="???">

    <label id=«ESB_speed_label» tooltiptext="&esb.avgspeed;" width="???" flex=«1»/>

    <label id=«ESB_time_label» tooltiptext="&esb.time;" width="???" flex=«1»/>

    Вместо «???», если мне не изменяет память, стояло 120, но это больно много, я считаю. У себя поставил гораздо меньше, тем более что если размера не хватает, поля автоматически расширяются до содержимого. Разумный минимум, ИМХО, &mdash; 60px.

  5. PROFIT :)

Итого


Если знать английский и не полениться, можно еще немного подправить этот файл по желанию, не забывая закрывать браузер перед запаковкой файлов обратно, но вроде и этого хватает. По крайней мере, у меня экономия налицо. :)

+23
1.2k 19
Comments 27