Настраиваем Opera 15 методом «напильника»

в 18:15, , рубрики: opera, opera 15, браузеры, напильник, Песочница, метки: , ,

Предисловие

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

Читая комментарии, в голове сформировалась мысль: всё, финал. Нет больше нормального браузера.
И только редкие ответы pepelsbey вселяли слабый огонёк надежды… «а вдруг?». Затаив дыхание, решил таки скачать Opera Next, и, после установки, был награжден — не всё так плохо! С поправкой, конечно, на альфа-версию.

Одна только вещь печалила.
Используя Opera, я очень привык к одноклавишным сочетаниям «1» и «2» для переключения вкладок — настолько, что без них не представляю себе работу в браузере. А в Opera 15 они, как известно, не работают, и более того — сочетания клавиш не настраиваются.

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

Грусть-печаль...

Ориентировка на местности

Когда прошел первый шок, следующей мыслью было посмотреть — а может быть не так всё плохо, и клавиши таки можно настроить?

Заглянув в каталог Opera, я увидел следующее:
Настраиваем Opera 15 методом «напильника»
Не густо, по сравнению со старой Оперой, но есть кое-что интересное — файлы с расширением ".pak". Очевидно, именно сюда и нужно смотреть — не в исполняемый же файл зашивать горячие клавиши!

Первым делом скачал Chrome, и убедился, что там есть аналогичные файлы. Ну а раз есть, и есть исходники Chromium — значит вуаля, show must go on!

Show must go on! (или «Берем в руки напильник»)

Беглый поиск в Google привел в группу Chromium-dev, где вкратце описан формат файла, а также на Google code, где есть модули на Python для работы с данным форматом.
Чуть-чуть допилив модули с Google Code, получил возможность распаковать и заново упаковать архив:
Настраиваем Opera 15 методом «напильника»

Что у Opera «под капотом»?

Распаковав opera.pak среди разных файлов видим цель — файл с id 38273:

{
  "Keybindings": {
    "Settings": { "AdvancedEnabled": false },
    "Basic": {
      "AccessKeyToggle": ["Esc+Shift"],
      "AddBlankTab": ["Ctrl+T"],
      "AddToBookmarks": ["Ctrl+Shift+D", "Ctrl+D"],
      "Back": ["Alt+Left","Ctrl+Left"],
      "Bookmarks": ["Ctrl+Shift+B", "Ctrl+B", "Ctrl+Shift+2"],
      "CloseActiveTab": ["Ctrl+W","Ctrl+F4"],
      "ClosePrivateWindow": ["Ctrl+Shift+Q"],
.....
      "SelectPreviouslyActiveTab": ["Ctrl+Grave"],
      "SelectTabToTheRight": ["Ctrl+Tab"],
      "SelectTabToTheLeft": ["Ctrl+Shift+Tab"],
      "ShowContextMenu": ["Shift+F10"],
.....

Заменяем искомые строки на:

      "SelectTabToTheRight": ["Ctrl+Tab", "2"],
      "SelectTabToTheLeft": ["Ctrl+Shift+Tab", "1"],

Собираем файл, и подкладываем назад в каталог Оперы — вуаля, мои любимые одноклавишники работают!

Постскриптум

Таким образом можно настроить и другие любимые сочетания, правда не все описанные в файле действия на данный момент работают. И вообще — если покопаться — то думаю, браузер можно изменить достаточно сильно. Было бы время и желание.

И в конце хочу пожелать успехов команде Opera Software. Надеюсь, новый браузер получится достойным.
Утилиту для распаковки-упаковки, немного модифицироанную мной, можно найти на Github.
(в Python я новичёк, за быдлокод прошу не пинать).

Спасибо за внимание!

Автор: Magister7

Источник

  1. OLD SPHYNX:

    Только что поставил OPERA 15.
    КаЕтся мне, что оч. ничего. Только вот:
    1). Вернуть бы надо возможность USERу некоторые настройки. Например,
    к чему такие громадные на экспресс панели квадратики закладок?
    2). Верните возможность USERу самому устанавливать фон раб. стола, ибо то , что Вы предлагаете – серо, скучно, уныло.
    Это – первые вЧепятления от, в общем-то, приятной в работе 15 версии. Просто ей
    нужен некий оживляж На мониторе всё (всё!) в оформляже должно подвластно USERу, и всё д. б. красиво и стильно.
    Спасибо Вам за давно требуеиые несколько капель скипидара старой и надёжной OPERE! Успехов вашей команде!
    OLD SPHYNX (Я действительно стар – мне 75 лет, к сжлню…).

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js