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

Предисловие


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

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

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

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

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

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


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

Заглянув в каталог Opera, я увидел следующее:

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

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

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


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


Что у 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 я новичок, за быдлокод прошу не пинать).

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

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 95

    +36
    Как не прячь конфиги, фанаты Оперы всё равно найдут :) Надеюсь в ближайших версиях мы сделаем этот процесс проще.
      +12
      Раньше настройки были в обычных текстовых файлах, было мега удобно!
        0
        Возможно, это вернут. Или вынесут в интерфейс куда-нибудь. В крайнем случае, можно написать утилиту, которая будет редактировать нужные настройки и упаковывать обратно.
        Но пока рано говорить об этом, посмотрим, что изменится к релизу.
          +4
          Добавить в интерфейс настроек и сохранение в обычные текстовые JSON-файлы — да, планируем, правда, скорее всего, после релиза Opera 15.

          Если будете делать утилиту — предусмотрите, что id файла может меняться от версии к версии.
            0
            Я чуть ниже написал как раз о id. Хотелось бы, чтобы файл соответствия имя <=> id был включен в дистрибутив, тогда изменение id не составит проблем.
              0
              Это хорошо. Одна из вещей, которые мне нравились в Opera — это возможность поместить настройки под контроль mercurial. В некоторых местах, конечно, была куча вещей, которые настройками не являются (вроде времени последнего запуска проверки обновлений и версии), но терпимая куча; с бинарными файлами у остальных даже такой каши не сваришь.
          +2
          Как в Sublime все конфиги в текстах, все картинки в файлах
            +1
            Это приятно слышать.
            Вообще, для полноценного редактирования opera.pak не хватает индексного файла — соответствия имя_файла -> id. Без него приходится просматривать содержимое всех файлов по порядку, пока не найдешь нужный.
            Хотелось бы, чтобы он был рядом с opera.pak в каталоге программы. Тем более, что дорабатывать в браузере тут вообще ничего не нужно — только немного поправить систему сборки.
              +7
              вертикальные табы верните.
                +3
                Opera, верни табы!
                0
                Ага, было бы клёво!
                И сделайте пожалуйста возможность полного переселения %USER%\AppData\Local\Opera\opera15\ и %USER%\AppData\Roaming\Opera\opera15\ в папку с программой.
                  0
                  Это есть: при установке надо выбрать режим «на USB-накопитель»
                    0
                    Либо не работает, либо что-то еще. Хочется чтоб без плясок с бубном было. :(
                      0
                      У меня работает, профиль прямо в папке Оперы. Не вижу тут никаких плясок. Установка точно такая же, как в «старой» Опере.
                  +2
                  Как не прячь конфиги, фанаты Оперы всё равно найдут :)
                  Надеюсь в ближайших версиях мы сделаем этот процесс проще.

                  «Все изменения пройдут под капотом браузера, обычные пользователи ничего не заметят» — выпилили нафиг 90% киллер-фич браузера.
                  «В ближайших версиях мы сделаем этот процесс проще» — в следующем релизе конфиги будут зашифрованы 3DES ключом CRC и вшиты в экзешник.
                  +3
                  А я уже начал потихоньку переносить интерфейс Opera в Firefox с помощью расширений — визуальные вкладки, сайдбар… Осталось разыскать заметки.
                  Не верится, что в новой Opera вернут всю прежнюю уникальную функциональность, разработка которой велась годами.
                    0
                    Я тоже пробовал такой вариант, но, к сожалению, не хватает Firefox той плавности интерфейса, которая есть в Opera. Даже в новой Opera 15 интерфейс плавнее.
                    Также не нашел способа настроить переход на элемент Speed Dial вводом в адресную строку номера ячейки и нажатием Enter.

                    Заметками я не пользовался с момента, как они пропали в Opera Mini, поэтому для Firefox не искал, не подскажу.
                      0
                      Да, есть такая беда. Но зато у Firefox есть важный плюс: очень удобно самому редактировать интерфейс благодаря XUL. Трудности, правда, всё равно возникают (неясно, к примеру, как отредактировать цвет активной вкладки), однако о такой гибкости в Opera можно было только мечтать.

                      Так заметки были ещё и в Opera Mini? Чёрт, вот зачем их тогда убрали? :(
                      После новостей о смене руководства Opera всё чаще возникает ощущение, что там с тех пор засели вредители, стремящиеся добить браузер как можно быстрее.
                        +2
                        Да, заметки были и в Мини. Синхронизированные. Зачем их оттуда убрали — никогда не мог понять, они же там УЖЕ БЫЛИ.
                        С тех пор, если нужно вдруг что-то вспомнить из заметок, приходится лезть в Link через Web-интерфейс. А ведь тоже киллер-фича была. Да ещё и не такая уж и сложная, мне кажется, в реализации.
                      +8
                      Как мне кажется, вопрос не в том, вернут ли всю прежнюю уникальную функциональность прямо в первой же версии браузера на новом движке — это, само собой, нереально. Куда важнее знать позицию компании-разработчика по поводу того, планируется ли возврат большей (или «самой важной») части функционала в течении определенного времени (количества версий).

                      Если посмотреть на похожий процесс перехода устоявшегося программного продукта на радикально новую кодовую базу, то можно вспомнить, к примеру, переход «классические Mac OS -> OS X»: там тоже первые версии не то что небыли клоном прошлых но на новом технологическом стеке, а и вообще были достаточно «лысыми» в вопросе функционала — в первую очередь реализовывали самые базовые и необходимые вещи, после чего продукт уже начал довольно быстро развиваться и заново обрастать функционалом от версии к версии.

                      Т.е., как по мне, то больше всего проблем именно в плохом освещении планов компании по развитию браузера в будущем, а не в том, в каком именно виде вышла Opera Next 15. Если бы одновременно с ней был опубликовано что-то типа роадмапа, то многие явно были бы куда более спокойны за будущее браузера.
                      +23
                      С нетерпением жду ваш следующий пост «Как методом напильника прикрутить Blink к Opera 12, отключить автообновление и жить счастливо».
                        +1
                        Может быть как основу для допиливания будет проще взять Chromium Embedded Framework?
                        Такая же Chromium-болванка, как и Opera 15, но open source, не надо заниматься расковыриванием.
                          +2
                          Насколько я понял после беглого просмотра — нет, CEF это меньше, чем браузер. И допилить его до полноценного браузера — это немаленький объем работы.
                          Мне кажется, сначала стоит дождаться релиза Opera 15, а потом уже будет видно, стоит ли думать о CEF и тому подобных вещах.
                            0
                            CEF по сути является движком хрома, а не полноценным браузером.
                              +1
                              То есть, как раз то, что нужно для создания оригинального браузера?
                                0
                                Ну в какой-то степени да. Но конкретно с chromium или любым другим браузером сравнивать cef конечно же не стоит. (что как раз и сделал автор комментария на который я отвечал)
                                +1
                                CEF — это возможность встроить движок хрома в свою программу, написанную хоть на питоне или дотнете (а в ней уже наворотить хоткеев, менеджеров букмарков, торент-клиентов и всего прочего, что изчезло из оперы).
                                И этим он может быть интереснее (перспективнее) опенсорсных «полноценных браузеров», вроде Firefox, которые кастомизируются с другой стороны — плагинами.
                              +4
                              «SelectPreviouslyActiveTab»: [«Ctrl+Grave»],

                              Оооо!!! Спасибо! Моя жизнь с Opera 15 стала ещё чуточку лучше =)
                                0
                                А где искать этот самый «Grave»?
                                  +3
                                  Символ «`», который на кнопке сразу под Esc.
                                    0
                                    Работает, правда, можно меняться только между двумя вкладками: текущей и предыдущей.
                                      +2
                                      Так он и называет PreviouslyActiveTab. Работает так же, как Previous Channel на телевизорах.
                                        0
                                        Или ещё, для геймеров: работает также, как кнопка Q в шутерах.
                                0
                                А может кто-нибудь объяснить почему нельзя прикрутить движок рендеринга к 12 версии? Вот есть, например ChromeFrame для IE. В чем принципиальное отличие?
                                  +1
                                  Вкратце: не имея исходников Opera 12, этого не сделать. Да и с исходниками наверняка не так просто.
                                  Подробнее: если не ошибаюсь, ChromeFrame использует технологию ActiveX, которая поддерживается только IE. Потому с другими браузерами такой «финт ушами» не пройдет.
                                  Разве что может быть оформить как NSPlugin, но я в этом не специалист, не знаю, хватит ли предоставляемых возможностей для реализации браузера-в-браузере.
                                    +3
                                    Спасибо.
                                    В том то и суть вопроса — в случае оперы исходники есть. (у Opera Software, разумеется), но нет желания.
                                    А в случае Internet explorer исходников не было, но было желание и ребята все равно сделали что хотели, извернувшись с ActiveX
                                    Так что на мой взгляд дело в политике. Был браузер для гика и для мобилок, что эффективный менеджмент посчитал неэффективным.
                                      +1
                                      Вообще, кроме ChromeFrame для IE, есть и IE Tab для FF и Chrome. И уж там-то ActiveX точно не пахнет. =)
                                        0
                                        Хм, не знал, спасибо.
                                        Там как раз NSPlugin, судя по беглому просмотру исходников, используется.
                                        Значит теоретически возможно сделать что-то такое для Opera 12.
                                        Есть желающие взяться? У меня знаний не хватит…
                                    +2
                                    Вероятно в коде 12-й нет четкого разделения на движок и пользовательский интерфейс или есть, но API Presto (?) настолько сильно отличается от API WebKit, что делать какой-то «прокси» или «адаптер» чуть ли не сложнее чем новый интерфейс с нуля.
                                    • UFO just landed and posted this here
                                      +2
                                      Комментарий не по теме, но перевести в украинском интерфейсе винды «приложение» или «application» как «застосунок» (см. первый скриншот) — это феерично. Впрочем как и попытки объяснить данный новояз.
                                        +6
                                        Вообще, грустно это всё.
                                        Сперва говорилось про изменения, которые произойдут «далеко под капотом». А что получается в итоге?..

                                        Провёл небольшой опрос и выяснил, что кроме меня уже как минимум три человека из числа моих знакомых и коллег, которые ранее использовали Opera, перешли на другие браузеры. И я не думаю, что они вернутся к использованию Opera, даже если разработчики восстановят хотя бы две трети старого функционала.
                                        Ещё несколько человек планируют пользоваться 12-й версией, пока она окончательно не устареет.

                                        Теперь можно представить происходящее в реальных масштабах. Скорее всего в данный момент Opera стремительно теряет множество постоянных пользователей просто за счёт выпуска этой злосчастной альфа-версии и бравированием на тему «Мы очень смелые ребята и потому решили похерить многолетний труд и доверие постоянных пользователей в пользу инноваций, о которых пока не расскажем».
                                        При этом представители компании ловко уворачиваются от раскрытия списка фич, которые будут восстановлены.
                                        Словом, надо быть большим оптимистом, чтобы продолжить использовать Opera. Хотя, несмотря ни на что, всё же хочется верить в успех.
                                          +9
                                          >Провёл небольшой опрос и выяснил, что кроме меня уже как минимум три человека из числа моих знакомых и коллег, которые ранее использовали Opera, перешли на другие браузеры.

                                          Очень обдуманная реакция на альфу. Это синдром нового айфона или что? Почему им нельзя использовать ту версию оперы что им нравится?

                                          PS: Путин, верни стену!
                                            –3
                                            Угу и жить с ie 6 :)
                                              +2
                                              Это реакция не на альфу, а на политику Opera в целом — мало кто верит, что после «полной смены интерфейсного фреймворка», как выразился pepelsbey, разработчики восстановят большинство прежней функциональности интерфейса.

                                              Что же касается версии, которая нравится, — браузеры сейчас быстро устаревают, поэтому для человека, связанного с веб-разработкой, оставаться на старой версии Opera — не самый лучший вариант.
                                              Мне, к примеру, очень нравится Opera 11.64, но использовать эту версию для работы получается с трудом из-за неполной поддержки HTML5 — не проигрывается mp3 в теге audio, не поддерживается drag&drop API и т.д.
                                            0
                                            Не думаю, что уже настало время поднимать хай и панику. Проводя аналогию — если в спортивном автомобиле сменить движок на реактивный, вряд ли удастся сохранить его внешний вид. Для меня причиной перехода на Chrome стал именно движок — зачем мне спорткар, который не едет. Все остальное за 10 лет пользования меня более чем устраивало Пожалуй, Opera Software несколько поторопились с анонсом — пилите, ребята, не спеша. А мы оценим… если будет, что.
                                              +4
                                              Я полагаю они выложили эту версию для тех кому не терпится посмотреть именно на оперу с blink, думаю реакция пользователей, особенно на хабре, их очень удивила.
                                              0
                                              Некоторые полезные расширение Хрома можно подключить в режиме разработчика.
                                              Например: Instant Translate, Pocket, Sent to Kindle, Stylebot.
                                                +1
                                                а нельзя как-то методом допиливания вернуть в оперу панель с почтой, заметками и прочим?
                                                  0
                                                  Боковую панель — думаю, врядли. По крайней мере не видно что-то для Chrome аддонов с боковыми панелями, а через голову (т.е. через возможности интерфейсного фреймворка) — не прыгнешь.
                                                  Я посмотрел немного в сторону боковых табов, они ведь когда-то были в Chrome в тестовом режиме, — так вот, они были реализованы в C++-коде. Так что допиливанием их не вернуть.
                                                  С боковой панелью ситуация, насколько я вижу, аналогичная.
                                                    +1
                                                    обидно, это единственное что мне нравилось в опере.
                                                      0
                                                      Я надеюсь, что боковую панель вернут. По крайней мере, очень многие её просили — так что вполне разумно прислушаться к пользователям.
                                                      0
                                                      Можно, было бы желание image
                                                        0
                                                        А содержание настраивается произвольно, или жестко фиксированные ссылки?
                                                        Поделитесь рецептом, пожалуйста.
                                                          0
                                                          Это одна из сборок браузера на основе Chromium. Ссылку не дам, да и не нужна эта сбока — как и у многих других, у неё отставание от Хрома на несколько мажорных версий.
                                                          Это просто демонстрация того, что в Chromium можно впилить боковую панель, если очень хочется.
                                                            0
                                                            Тогда понятно, я уж подумал про дополнение.
                                                            То, что можно впилить — это естественно, исходники-то открытые. Но вот добавить методом, аналогичным описанному мной в топике (т.е. без доработки исходников и перекомпиляции) — не получится.
                                                    +4
                                                    Тормоза при переключении вкладок (типично хромовские, кстати) это не убьёт.
                                                      0
                                                      Между тем, в английской вики появился основанный на движке Presto инновационный Habrowser. Свет надежды озаряет нам путь!

                                                        +1
                                                        По-моему, нужнее Opera на движке Blink, чем не пойми-что на движке Oper`ы. Движок — это еще не браузер, и Ваш восторг, мягко говоря, не понятен.
                                                          +2
                                                          Какой вы серьёзный, с ума сойти.
                                                          +1
                                                          А что за хабров сыр-то? Поиск по слову ничего, гугл даёт только какие-то download'ы.
                                                            0
                                                            Да просто кто-то пошутил. Добавил хабраузер, ссылка ведёт на статью о хабре.
                                                              0
                                                              OK, откачу тогда.
                                                                0
                                                                Это будет разумным и ответственным решением.
                                                                  0
                                                                  Спасибо, что поддержали меня в такой трудный и ответственный момент.
                                                          0
                                                          Автор, пока копались в настройках, не нашли случайно, как включить циклицеский режим переключения табов?
                                                            0
                                                            Об этом вроде pepelsbey писал в предыдущих топиках. По умолчанию назначено на Ctrl-F1, Ctrl-F2 (если я правильно понял, о чем идет речь).
                                                            Я себе переназначил на Ctrl-Tab, Ctrl-Shift-Tab, вот так:
                                                                  "CycleBackwardInActivationList": ["Ctrl-F2", "Ctrl+Shift+Tab"],
                                                                  "CycleForwardInActivationList": ["Ctrl-F1", "Ctrl+Tab"],
                                                            

                                                            Естественно, убрав эти сочетания с предыдущей их функции.
                                                              0
                                                              alex-shpak писал об этом. Неофициально :)
                                                            0
                                                            Может, тогда и в Opera Mail можно как-нибудь браузерный функционал активировать?…
                                                              0
                                                              Это было первое, что я попробовал после установки Opera Mail. К сожалению, ничего не получилось (пока?).
                                                              Хотя в горячих клавишах и остались клавиши для браузера, но они не работают. Ещё есть в одном ini-файле параметр Product = 3, но вот что это — непонятно. Смена на 1, 2, 4 ничего не дает.
                                                              Даже консоль ошибок не открывается, хотя она как раз нужна — иначе где увидеть ошибки почтового сервера?
                                                                0
                                                                >Даже консоль ошибок не открывается, хотя она как раз нужна — иначе где увидеть ошибки почтового сервера?
                                                                Добавить в accounts.ini строчки «Outgoing Log File=»/«Incoming Log File=», например?
                                                                  0
                                                                  Как вариант, но это не так удобно.
                                                                0
                                                                Это было любимым развлечением тестировщиков в нашем отделе: пытаться активировать браузер в Opera Mail :) Конечно, все найденные способы исправлялись.

                                                                Можно сохранить в черновиках письмо в формате html с iframe'ом ;)
                                                                  0
                                                                  Ну браузер-то понятно, а вот темы за что выпилили из Opera Mail? (интерфейс для настройки, я знаю, что можно подменить standard_skin.zip)
                                                                  Можно сохранить в черновиках письмо в формате html с iframe'ом ;)
                                                                  Так ссылки из писем-то всё равно не будут открываться в новой вкладке.
                                                                  А вообще зря вы так. Нужно было настройку сделать — открывать ссылки в <...>
                                                                  Смысл в том, что часто нужно просто глянуть — есть ли по ссылке что-то интересное, и переключаться между окнами ради этого неудобно. А так был бы такой себе «быстрый просмотр».
                                                                  Лучше даже повесить, скажем, на левую кнопку — открытие в браузере (то, что есть сейчас), а на среднюю — открытие во вкладке внутри почтового клиента.
                                                                  Тем более что сделать это должно быть достаточно просто.
                                                                    +2
                                                                    Можно и по-другому =) habrastorage.org/storage2/496/32d/472/49632d472d4f3aaa21a783f65021c26a.png
                                                                    Пользоваться как браузером, правда, всё равно пока невозможно.
                                                                +3
                                                                На самом деле, для настройки клавиш достаточно подправить файл Preferences
                                                                (на Win7 он лежит тут: c:\Users\{username}\AppData\Roaming\Opera\Opera Next\data\Preferences)

                                                                Например, вот так:
                                                                {
                                                                   "Keybindings": {
                                                                      "Basic": {
                                                                	"SelectTabToTheRight": ["Ctrl+Tab", "2"],
                                                                	"SelectTabToTheLeft": ["Ctrl+Shift+Tab", "1"]
                                                                      },
                                                                      "Settings": {
                                                                         "AdvancedEnabled": true
                                                                      }
                                                                   },
                                                                ...
                                                                  0
                                                                  Действительно, так гораздо удобней, чем перепаковывать opera.pak!
                                                                  Кстати, может, кто-нибудь выложит содержимое этого opera.pak?
                                                                    0
                                                                    Не уверен, что это не будет нарушением авторских прав Opera Software.

                                                                    Инструменты все есть, Opera свободно скачивается — т.е. самому распаковать просто.
                                                                    0
                                                                    А эти настройки перекроют стандартные? Если нужно не добавить новую клавишу, а изменить действие уже назначенной клавиши (например, Ctrl-Tab)?
                                                                    Ну и в opera.pak можно не только клавиши настроить :)
                                                                      0
                                                                      После добавление поведение браузера на маке ничуть не изменилось. Не думал, что без этих кнопок и прокрутки вкладок мышкой будет так неудобно пользоваться браузером.
                                                                      0
                                                                      Среди ресурсов нашел намёки на Opera Notes:
                                                                        +1
                                                                        Значит, заметки наверное будут :)
                                                                        0
                                                                        Огромное спасибо за утилиту! Упакованный архив с Ctrl-Tab переключением в порядке использования и 1, 2 для переключения табов. Для версии 15.0.1147.44 dl.dropboxusercontent.com/u/15879991/opera.7z (архив с утилитой в комплекте)
                                                                        Правка c:\Users\{username}\AppData\Roaming\Opera Software\Opera Next\Preferences результатов не принесла.
                                                                          0
                                                                          А вот реально сделать как-то, чтобы средний клик по верней строке создавал новую вкладку? Так напрягает каждый раз в крестик целиться
                                                                            0
                                                                            Не скажу, дальше горячих клавиш я не изучал.
                                                                            Хотя вообще там много разного JavaScript, так что вероятность, что это возможно, есть. Похоже что даже Speed Dial на нем написан, по крайней мере часть его так точно.
                                                                              +1
                                                                              Полностью. Для 15.0.1147.100 я для себя сделал более компактный вид:

                                                                              Возможны разные комбинации




                                                                              Могу сбросить pak-файлы.
                                                                                0
                                                                                Спасибо, мне пока без надобности. Я старой Оперой пользуюсь ещё, новую только для развлечения изучаю.
                                                                                Кстати, если изменения распакованных файлов хранить в git, то имеем приятный бонус — он сам понимает, если файлы переименовываются, и при слиянии автоматом накатывает изменения на файл с новым именем.
                                                                                  0
                                                                                  Действительно, контроль версий разумно использовать.
                                                                                  0
                                                                                  Я чуть поигрался — убрал строку поиска, уменьшил размер ячеек, отступы получил такое:


                                                                                  Патч:
                                                                                  diff --git a/opera/39011.html b/opera/39011.html
                                                                                  index 4e85306..1e564bc 100644
                                                                                  --- a/opera/39011.html
                                                                                  +++ b/opera/39011.html
                                                                                  @@ -127,6 +127,7 @@
                                                                                   .scroll-container
                                                                                   {
                                                                                     overflow: auto;
                                                                                  +  height: auto !important;
                                                                                   }
                                                                                   
                                                                                   .text-input
                                                                                  @@ -140,18 +141,20 @@
                                                                                   
                                                                                   .speeddial-container
                                                                                   {
                                                                                  -  padding: 28px 80px;
                                                                                  +  padding: 0px 40px;
                                                                                     position: relative;
                                                                                     transition: left 0.3s, height 0.3s;
                                                                                   }
                                                                                   
                                                                                   .speeddial
                                                                                   {
                                                                                  -  position: absolute;
                                                                                  -  top: 0;
                                                                                  -  left: 0;
                                                                                  -  width: 230px;
                                                                                  -  height: 170px;
                                                                                  +  position: relative;
                                                                                  +  float: left;
                                                                                  +  margin: 10px;
                                                                                  +  top: auto !important;
                                                                                  +  left: auto !important;
                                                                                  +  width: 180px;
                                                                                  +  height: 133px;
                                                                                     background-color: rgba(255, 255, 255, 0.2);
                                                                                     border: 1px solid rgba(0, 0, 0, 0.4);
                                                                                     transition: top 0.3s, left 0.3s, box-shadow 0.3s, opacity 0.3s;
                                                                                  @@ -162,6 +165,7 @@
                                                                                     background-origin: border-box;
                                                                                     box-sizing: border-box;
                                                                                     cursor: pointer;
                                                                                  +  background-size: 100%;
                                                                                   }
                                                                                   
                                                                                   .speeddial progress
                                                                                  @@ -284,14 +288,18 @@
                                                                                   .dial-thumbnail
                                                                                   {
                                                                                     display: inline-block;
                                                                                  -  width: 97px;
                                                                                  -  height: 71px;
                                                                                  -  margin: 4px 6px;
                                                                                  +  width: 81px;
                                                                                  +  height: 59px;
                                                                                  +  margin: 2px;
                                                                                     border: 1px solid rgba(0, 0, 0, 0.5);
                                                                                     border-radius: 3px;
                                                                                     background-size: 100%;
                                                                                     background-origin: border-box;
                                                                                     box-sizing: border-box;
                                                                                  +  top: auto !important;
                                                                                  +  left: auto !important;
                                                                                  +  position: relative !important;
                                                                                  +  float: left !important;
                                                                                   }
                                                                                   
                                                                                   .folder
                                                                                  

                                                                                  Может организовать репозиторий с патчами?
                                                                                  Интересно, как к этому отнесутся в Opera Software.
                                                                                    0
                                                                                    Осталось только что-то сделать в .speeddial-add с background, чтобы плюсик отображался адекватно :) А ещё лучше сделать
                                                                                    display: none;


                                                                                    Я вчера тоже смотрел в сторону изменения количества и размера плиток, но через файл 38248.js. Там можно установить максимальное кол-во ячеек в строке, размер ячеек (надо внимательней смотреть, т.к. после изменения значений, ячейки вплотную налезли друг на друга) и многих других параметров, в т.ч. и отступов. Найти файл (если, вдруг, номер файла поменяется) можно по строке «SpeeddialLayout.prototype = new function()». Скорей всего правильней будет не хакать css, а поправить js. С другой стороны, в css (на данный момент) размеры ячеек могут быть прописаны жестко и от js не зависят.

                                                                                    В любом случае, у вас получился (на данный момент) более гибкий вариант, фактически повторяющий поведение классической Оперы. С другой стороны, мне теперь такое нагромождение вкладок и не к чему, использую папки и одним кликом открываю все страницы из папки — очень удобно.
                                                                                      0
                                                                                      Не совсем получилось, т.к. у меня размеры ячеек не уменьшаются автоматически если не хватает места, а появляется полоса прокрутки как и в стандартном варианте. Хм, точнее должна появляться, но не появляется… надо ещё дорабатывать.
                                                                                      Будет времени немного поразбираюсь.

                                                                            Only users with full accounts can post comments. Log in, please.