Как изменить пользовательскую домашнюю страницу Opera.Unite

Показываю как перекрасить пользовательскую страницу со списком всех задействованных приложений. …

Спешу сообщить, что, к моей радости, я нашёл место, где таятся настройки родительской страницы. Как выяснилось, за это отвечает виджет

~/opera/widgets/home.ua

Я уверенн на 99% что изменяя его, можно ПОЛНОСТЬЮ заменить и дизайн страницы, и все её скрипты. Заметьте – на 99. Мне нужно удостовериться, об успехах расскажу позже.

Пока я пробовал только просто изменить фон тега BODY в основном CSS-файле. (успешно)

Ниже привожу инструкцию, как это перекрасить, однако хочу добавить, что делать всё надо очень внимательно, а если захотите изменить какие-то другие части, то настоятельно рекомендую 1) сохранить изначальную версию виджета 2) ознакомиться с документацией по разработке для Opera.Unite в частности, с разделом Yusef. (сегодня они зачем-то всю документацию перебросили на адрес https://github.com/operasoftware/unite-libraries)

Вот как перекрасить основную страницу Opera.Unite:

  1. скопировать вышеупомянутый файл .ua в отдельное место. (вероятно в не_Линукс системах придётся поменять ему расширение на .zip)
  2. распаковать этот zip-архив в отдельную папку (в Линуксе командой unzip -x home.zip)
  3. отредактировать файл …/libraries/yusef/plugins/ui/skins/default/public_html/main.css по своему вкусу
  4. запаковать всё обратно, сохранив всю иерархию папок и названия файлов (обратите внимание, что в архиве всё лежит без головной папки) команда в Линуксе (пускать стоя в каталоге с обсуждаемыми файлами): zip -r home.zip * (если сохранить с другим расширением, почему-то бывают сбои)
  5. изменить расширение с 'zip' на 'ua'
  6. заменить home.ua на свой вариант (рекомендую на всякий случай сохранить старый вариант)
  7. остановить Opera.Unite ИЛИ выключить Оперу
  8. включить Opera.Unite и обновить страницу (или включить Оперу и увидеть изменения)

Есть ещё два css-файла: 1) …/public_html/style.css (там я перекрасил кнопки из серо-зелёных в голубо-синие) 2) …/libraries/yusef/plugins/shoutbox/public_html/shoutbox_style.css (судя по всему, он раскрашивает маленький чат, через который можно говорить с владельцем сайта)

Вообщем-то можете посмотреть на то, что я действительно заменил фон и цвет кнопок: http://live.doclinux.operaunite.com/ (мне ещё только предстоит привести дизайн в полное соответствие с задуманным, чтобы он был единым целым с САРЛИДО)

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

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

Дополняю: Не удержался попробовать заменить виджет home.ua на свою версию "Web Proxy", заменив, конечно, данные в widgets.dat. Не советую бездумно повторять. Во-первых, не сработает: вместо локалхоста выдаёт ошибку, предлагает посмотреть в какой-то лог-файл. Предполагаю, что скрипту нужно активировать Yusef или какую-то ещё библиотеку для того, чтобы, как минимум, корректно прочесть свои параметры. (обычные параметры home.ua: логин, пароль, зоны видимости, порт, скорость ограничения и имя компьютера) Во-вторых, после того, как возвращаешь предварительно сохранённые файлы, со всей их структурой, с точностью до байта, система всё-равно не помнит какие виджеты были установлены – она игнорирует информацию из widgets.dat. Восстановить возможно, только хлопотно. ВЫВОД, который я делаю: просто заменить виджет нельзя, но и ставить крест на этой затее я бы тоже не стал. Путём анализа работы home.ua наверняка можно понять как сделать может быть даже уникальный вариант этого виджета, который сразу будет делать то, что делает "Web Proxy".

Leave a Reply

Your email address will not be published. Required fields are marked *