21 октября | 2019г. | 14:05:43

АвторТема: FAQ Skins (скины)  (Прочитано 13469 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн Sirius0103Автор темы

  • Совет Джедаев
  • ****
  • Сообщений: 3536
  • Поблагодарили: 12221
FAQ Skins (скины)
« Первое сообщение: 04 мая | 2015г. | 19:51:05 »
Skins (скины) мини FAQ

Скины - графическая оболочка которая изменяет визуально интерфейс вашего тюнера

Скины могут подходить к любому имиджу, но во многих случаях скины написаны для одного конкретного имиджа (в основном написано в названии, либо в описании скина автором)

- скины находятся по пути /usr/share/enigma2/
- шрифты для скинов находятся по пути /usr/share/fonts/
- конверторы для скинов находятся по пути /usr/lib/enigma2/python/Components/Converter/
- рендеры для скинов находятся по пути /usr/lib/enigma2/python/Components/Renderer/

Программы для работы со скинами:

E2Skinner
Open Skin Designer


  • Vu+ Solo 4k | Vu+ Solo 4k | Vu+ Solo²
- success accompanies the audacious -

Оффлайн Sirius0103Автор темы

  • Совет Джедаев
  • ****
  • Сообщений: 3536
  • Поблагодарили: 12221
FAQ Skins (скины)
« Ответ #1: 04 мая | 2015г. | 23:27:51 »
Разберём основные моменты в skin.xml (так называемая шапка) примером взят скин NeutronHD

разрешение скина
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
цвета применяемые в скине
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
шрифты применяемые в скине (обращаем внимание что шрифты в теле скина)
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
здесь объявляются применяемые цвета для всего скина (что будет по дефолту), для шрифта, для курсоров, фонов окна и прочее
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
здесь объявляется применение рисунков для окон где используются "бордюры" (составной набор картинок вокруг окна)
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
  • Vu+ Solo 4k | Vu+ Solo 4k | Vu+ Solo²
- success accompanies the audacious -

Оффлайн Sirius0103Автор темы

  • Совет Джедаев
  • ****
  • Сообщений: 3536
  • Поблагодарили: 12221
FAQ Skins (скины)
« Ответ #2: 05 мая | 2015г. | 22:59:53 »
Посмотрим что есть в окне оформления на примере Channel selection

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.screen name - название окна (уникальное имя)
ePixmap  pixmap - вывод рисунка
eLabel text - вывод текста
widget name - набор нужных нам виджетов
panel name -  вставка Templates (только OpenPLi для имиджей)

Посмотрим какие могут быть параметры в виджете на примере виджета где мы выбираем каналы

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.name="list" - название (уникальное имя) виджета
position="45,70" size="670,535" - позиция и размеры виджета
colorServiceDescription - цвет шрифта программы (описания передачи)
colorServiceDescriptionSelected - цвет шрифта выделенной программы (описания передачи)
colorEventProgressbar - цвет прогрессбаров в списке каналов
colorEventProgressbarSelected - цвет выделенного прогрессбара в списке каналов
colorEventProgressbarBorder - цвет рамки прогрессбаров
colorEventProgressbarBorderSelected - цвет рамки выделенного прогрессбара
colorEventProgressbarSelected - цвет выделенного прогрессбара
picServiceEventProgressbar - прогрессбар рисунком
foregroundColor - цвет программы
foregroundColorServiceNotAvail - цвет недоступной программы
selectionPixmap - курсор рисунком
scrollbarMode - показывать или нет скролбар
serviceInfoFont - шрифт и размер шрифта идущей на данный момент передачи(программы)
serviceItemHeight - высота каждой строки в ChannelList (списке каналов)
serviceNameFont - шрифт и размер имени канала
serviceNumberFont - шрифт и размер номера канала

Посмотрим какие могут быть параметры в виджете на примере виджета где мы выводим текст

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.text="Channel Selection" - собственно выводимый текст
position="30,25" size="700,36"  - позиция и размеры виджета
font="Regular; 30" - размер и тип шрифта
foregroundColor="color1" backgroundColor="background" - цвет шрифта
halign="right" valign="center" - положение шрифта в виджете
transparent="1" - прозрачность виджета
zPosition="-1" положение виджета в слоях окна

При часто попадающихся вопросах FAQ будет дополняться...
  • Vu+ Solo 4k | Vu+ Solo 4k | Vu+ Solo²
- success accompanies the audacious -

Оффлайн mic71

  • Джедай Куратор
  • **
  • Сообщений: 3946
  • Поблагодарили: 13298
FAQ Skins (скины)
« Ответ #3: 21 декабря | 2016г. | 16:21:51 »
Как правильно упаковать пакет скина
Для примера возьму свой скин HDLine-Rebrending

Начнём с файла control, вот его содержимое
Спойлер   :
[ Гостям не разрешен просмотр вложений ]
Package: enigma2-plugin-skins-hdline-rebranding

plugin - Отображается в плагинах
skins - Категория в которой отображается скин
hdline-rebranding - Имя скина
Version: v1.0 - Версия скина
Description: Skin HDLine-ReBranding v1.0 by MIC71 - Описание скина
Section: base - Для установки с пульта или телнета не важно
Priority: optional - Для установки с пульта или телнета не важно
Maintainer: mic71 < mic71@list.ru > - Автор скина
Architecture: all - Тут лучше писать all (все), т.к. ресиверы разные, если написать mips32el или mips32el-nf, то в некоторые ресиверы он не встанет
OE: enigma2-plugin-skins - Тут многие пишут ОЕ2.0 или ОЕ1.6, я пишу так как есть, если ставить с пульта роли не играет
Homepage: www.giscub.tv - Домашняя страница автора (можно оставить пустым)
Source: http://giscub.tv - исходники (можно не писать, оставить пустым)
ОБЯЗАТЕЛЬНО: В конце файла должна присутствовать пустая строка!

Далее рассмотрим описание файла postinst (можно оставить стандартным) это не столь критично
Спойлер   :
[ Гостям не разрешен просмотр вложений ]
Возьмём последние 3 строки, они не обязательны
sleep 5 - Рестарт Enigma2 через 5 сек
rm -rf /tmp/*.ipk - затирание ipk пакета после установки
killall -9 enigma2 >/dev/null 2>&1 - остановка Enigma2

Ну а теперь о самом интересном, можно оставить конечно стандартный файл postrm, ну либо немного изменить
Вот как пример:
Спойлер   :
[ Гостям не разрешен просмотр вложений ]
rm -rf /usr/share/enigma2/HDLine-ReBranding - Затирание папки скина
sleep 5 - Рестарт Enigma2 через 5 сек
killall -9 enigma2 >/dev/null 2>&1 - Остановка Enigma2
2 нижних строчки не обязательны

При удалении скина, команда с телнета будет такая
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.Именно та верхняя строчка из файла control Package: enigma2-plugin-skins-hdline-rebranding

Теперь рассмотрим вариант упаковки компонентов, я их упаковываю отдельно, файл control и postinst можно пропустить, они такие же как и в папке скина, кроме названия файла Package: dvpapi-components-hdline-rebranding
Из этого следует, что в плагинах компоненты отображаться не будут, т.к. категории dvbapi и components в плагинах просто нет, удаление только с телнета

Теперь маленькое отступление, в моём скине тоже присутствуют компоненты из клубной библиотеки, ниже приведу скрины, и чтобы при удалении компонентов они не удалились (удалятся только *.ру файлы) в файле postrm я прописываю только те компоненты, которые не входят в клубную библиотеку, чтоб при удалении компонентов у вас не осталось мусора от скина
Вот для наглядности компоненты и рендеры которые входят в библиотеку
Спойлер   :
[ Гостям не разрешен просмотр вложений ] [ Гостям не разрешен просмотр вложений ]
Это содержимое файла postrm
Спойлер   :
[ Гостям не разрешен просмотр вложений ]
Смотрим по порядку, то что удалится при удалении компонентов, заметьте что прописано расширение *.pyo, т.к. файлы *.py удаляются автоматом, итак у меня всего 3 конвертера, не входящие в клубную библиотеку, это:
rm -rf /usr/lib/enigma2/python/Components/Converter/MSNWeather2.pyo
rm -rf /usr/lib/enigma2/python/Components/Converter/ModuleControl.pyo
rm -rf /usr/lib/enigma2/python/Components/Converter/GoliathHDServiceInfo.pyo

И 3 рендера
rm -rf /usr/lib/enigma2/python/Components/Renderer/GoliathHDCams.pyo
rm -rf /usr/lib/enigma2/python/Components/Renderer/GoliathHDemu.pyo
rm -rf /usr/lib/enigma2/python/Components/Renderer/ScrollLabel.pyo


Всё остальное из клубной библиотеки и удалять их не нужно, т.к. это может коснуться других скинов, замечу тут собраны только необходимые компоненты для работы скина, и всю клубную библиотеку ставить не нужно
Ну и ниже 2 строчки, это остановка Enigma2 и рестарт через 5 сек
sleep 5
killall -9 enigma2 >/dev/null 2>&1

Это вы делаете на своё усмотрение, я это делаю потому, чтобы потом руками с пульта не нужно перегружать ресивер, чтоб активировались или деактивировались те или другие компоненты скина
И последнее: Пакет скина в файле control нужно писать только через тире вот так - enigma2-plugin-skins-hdline-rebranding
Если написать так: Package: enigma2-plugin-skins_hdline-rebranding, т.е. употребить нижнее подчёркивание, то пакет встанет, но с ошибками и удалить с телнета его будет просто невозможно, т.к. при команде opkg remove писать будет нечего
Или некоторые называют пакет так: Package: enigma2-plugin-skins-hdline-rebranding_openpli, что есть неправильно, это лучше писать в строке Version: но опять через тире, вот так: Version: v1.0-openpli

Вобщем я написал и разложил по полкам как нужно делать по уму для корректной упаковки, а там сами решайте как вам упаковывать

P.S. файлы postinst, postrm нужны обязательно, без них сотрётся только запись в файле status а компоненты и скин при удалении останутся не тронутыми

Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
3461 Просмотров
Последний ответ 25 мая | 2011г. | 12:21:11
от 2boom
67 Ответов
20766 Просмотров
Последний ответ 20 марта | 2013г. | 21:21:19
от alex-58
18 Ответов
11416 Просмотров
Последний ответ 30 декабря | 2017г. | 18:31:23
от arhivarius
47 Ответов
16638 Просмотров
Последний ответ 18 января | 2019г. | 12:26:12
от Satfan777
6 Ответов
5828 Просмотров
Последний ответ 22 апреля | 2018г. | 12:04:48
от сергей 999s



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!