Russian hot keys bugfix для Gran Paradiso (Firefox 3.0)
Я думаю, все русскоязычные люди, которые использовали Firefox под Linux столкнулись с тем, что у них не работают хоткеи, когда включена русская раскладка. Для этих дел было сделано расширение, которое эти проблемы убирало. Сегодня поставил Gran Paradiso (будущий Firefox 3.0) себе на Kubuntu и столкнулся с тем, что расширение упорно не хотело работать.
Сначала оно начало возмущаться, что оно не предназначено для 3-й версии Firefox. Это дело поправимое: находим в директории расширения (~/.mozilla/firefox/<тут будет одна директория>/extensions/<номер расширения>/, где номер расширения находится путем перебора всех директорий, в них есть readme-файлы, ищите тот, в котором будет упоминание о «Russian hot keys bugfix») файл install.rdf и меняем блок под комментарием <!-- Firefox --> на такой:
<em:targetApplication> <Description> <em:id>{<здесь будет номер, вставьте из вашего файла>}</em:id> <em:minVersion>1.5</em:minVersion> <em:maxVersion>3.0</em:maxVersion> </Description> </em:targetApplication>
После чего ресширение перестает ругаться на несовместимость версий и начинает работать. Точнее, начинает «работать», потому что толку от того, что расширение включено нет никакого — при русской раскладке никакие хоткеи работать не хотят. Полез в Google — нифига не нашел, никаких фиксов расширения для FF 3.0, ничего. Делать нечего — полез в коды. После 15-ти минут копания в кодах, бок был найден — автор передавал в функцию несуществующий параметр. После изменения одного слова и перезагрузки Gran Paradiso скрипт чудесным образом стал работать. Сейчас вот написал на мыло автору расширения, чтобы он поправил бок и выложил новую версию в паблик-доступ. А то собирать самому расширение сейчас ни времени ни желания нет. :)
Для тех, кто хочет все прямо сейчас:
- идем в директорию ~/.mozilla/firefox<возможно тут будет "-3.0">/<тут будет одна директория>/extensions/<номер расширения>/ (см. выше, в общем)
- переходим в chrome/rhkbf.jar/content/rhkbf/ (да, да. jar — это обычный архив и почти все файлменеджеры могут использовать его как директорию)
- открываем файл overlay.js и ищем строку с «trevt.initKeyEvent(evt.type, evt.canBubble, evt.cancelable,»
- меняем «evt.canBubble» на «evt.bubbles»
- перезагружаем Gran Paradiso и убеждаемся, что все работает
Взято отсюда