категории | RSS

Редактирование иконок приложений в темах для S60

Оригинал данного материала в виде руководства по редактированию иконок приложений в темах оформления находится на сайте программы SISContents. Так как руководство написано на английском языке, и помня то, что посетители данного сайта очень не любят, когда им предлагают с чем-то знакомиться не на том языке, к которому они привыкли, я решил написать русскую версию в виде статьи. Заглянуть в оригинал всё же рекомендую, в нем много скриншотов, а также присутствует практическая часть, описывающая процесс замены и добавления иконок некоторых системных приложений на примере Samsung i8910 HD. Здесь для экономии трафика тех, кто читает сайт с телефона, скриншоты отсутствуют.
Основным инструментом для создания тем для платформы S60 является программа Carbide UI Theme edition. Данное приложение предоставляет максимальные возможности по кастомизации интерфейса аппаратов, в том числе позволяя автору темы использовать собственные иконки для ярлыков системных и сторонних приложений, установленных на устройство. При создании темы автор сам выбирает, какие иконки ему добавлять, и его набор приложений может несколько отличаться о того, чем пользуются остальные. Кто-то пытается охватить максимальное количество приложений, кто-то ограничивается лишь базовым набором иконок для самых распространенных программ, используемых большинством. В любом случае, при наличии огромного количества приложений для S60 все иконки нарисовать нереально. В то же время, пользователи часто обращаются к авторам тем с просьбой добавить иконки, отсутствующие в теме. Теперь в этом нет необходимости, так как иконки к недостающим приложениям можно добавить самостоятельно.
В данной статье я расскажу как отредактировать иконки приложений, содержащиеся в теме, с помощью программы SISContents. SISContents позволяет добавить в тему отсутствующие иконки, заменить изображения тех, что уже в ней присутствуют, а также удалить те иконки, что не подошли/не понравились. Всё редактирование производится в sis пакете с темой, распаковка и пересборка не требуются.

Сразу хочу заметить, что речь в данном материале пойдет только о редактировании иконок приложений.

Для начала необходимо скачать самую последнюю версию программы SISContents.

Добавление иконок в тему
Для добавления иконки к приложению необходимо знать его UID (уникальный идентификатор) и иметь графический файл в формате SVG (или SVGB). Если UID необходимого приложения неизвестен, смотри приложение в конце статьи, в котором описано как его узнать. Информация о коллекции иконок, хранящихся в теме, содержится в skn файле. Его мы и будем редактировать.
В первую очередь необходимо открыть sis пакет с темой с помощью SISContents и включить режим редактирования (Tools->Edit package). Далее переключаемся на вкладку Contents (список файлов) и ищем файл с расширением .skn. Открываем файл, нажав на кнопку View details или двойным кликом мыши. В появившемся окне переходим на вкладку Application icons. В списке перечислены все иконки приложений, которые присутствуют в теме. Если список пуст, значит, автор темы ничего не добавлял, и используются родные иконки. Количество иконок, отображаемых в списке, и общее число иконок в теме можно увидеть над списком. Каждая запись в списке содержит UID и название приложения (если оно было найдено в базе имен SISContents), для которого используется иконка, а также имя файла картинки, хранящейся в файле mif. Также есть поле для поиска иконок по имени и UIDу. Прежде чем добавлять новую иконку желательно проверить, не добавлена ли она автором темы. Для этого поиск и предназначен. Поиск по UID является более точным, так как, во-первых, UIDы разных версий одного приложения могут отличаться, а, во-вторых, приложение может иметь несколько названий (на каждый поддерживаемый им язык), в то время как в базе SISContents все названия на английском. Также возможна ситуация, когда UID отсутствует в базе SISContents и поиск по имени, соответственно, не дает результатов. В случае, когда добавляемая иконка уже есть в теме, SISContents не создает дополнительную запись, а корректирует запись об имеющейся иконке.
Если иконка нужного приложения отсутствует в списке для ее добавления необходимо нажать Add application icon. В появившемся окне вводим UID приложения или нажимаем Choose from list…, если не знаем UID и хотим попытаться найти нужную нам программу в базе SISContents. Далее нужно определиться с картинкой для новой иконки. Можно добавить свой файл, нажав на Browse справа от поля Icon file, или выбрать изображение из списка имеющихся в теме картинок (кликнув на Choose image from the list of existing icons и выбрав нужное в списке).

Замена имеющихся иконок
Данную замену можно произвести и в mif файле, SISContents имеет такую возможность, но для иконок приложений намного удобнее и быстрее получится сделать это, используя кнопку Replace icon image в skn файле. После нажатия этой кнопки в появившемся окне также можно сменить UID приложения и определить для него новую иконку. Если необходимо оставить имеющуюся иконку, но сменить ее приложение-владельца, достаточно поменять UID на нужный.

Удаление иконок
Данная возможность позволяет исключить иконку приложения из темы. Вместо нее будет использована дефолтная. Для этого необходимо нажать на кнопку Delete icon и подтвердить свое намерение в появившемся окне.

Немного расскажу о том как я заменил иконки для тех приложений на моем Samsung i8910 HD, которые мне не нравились, а именно VideoPlayer, MediaBrowser и Podcasts, на примере темы Aviator. То как выглядели иконки первоначально можно посмотреть на этом скриншоте (360х640, 31,7 Кб).
Для начала я решил заменить страшную иконку программы VideoPlayer. Эта программа используется для просмотра видео в формате DivX. Так как еще один DivX плейер мне не нужен, а в теме Aviator была подходящая иконка, предназначенная для приложения DivX Player, я просто сменил ее UID с 0x2000ED5F (DivX Player) на 0x20018902 (VideoPlayer). Теперь иконка принадлежала нужной программе.
То же самое я сделал с иконкой приложения Podcasts. На Samsung i8910 HD это другое приложение, предустанавливаемый на всех Нокиях Podcasting в нем отсутствует, поэтому я просто нашел и сменил UID соответствующей иконки в теме Aviator с Podcasting (0x1028190B) на Podcasts (0x2001E44E).
Приложение MediaBrowser выступает как замена стандартной для S60 устройств галереи. Было два варианта добавления иконки к этому приложению. Первый – использовать изображение, нарисованное автором темы для приложения Галерея. Второй – добавить свою картинку. В первом случае через поиск я нашел имя файла картинки, которое использовалось для галереи (Media Gallery в английском варианте). В теме Aviator это был файл entry156.svgb. Далее я нажал на Add Application icon (добавление иконки к приложению), через поиск нашел в базе UID MediaBrowser, кликнул на Choose image from the list of existing icons (использовать одну из имеющихся картинок) и выбрал entry156.svgb. После этого была добавлена иконка к MediaBrowser, такая же, как у галереи. Во втором случае (использование своей картинки) нужно было только выбрать файл в формате SVG (SVGB) с диска.
Оба варианта того, как тема стала выглядеть после модификации можно посмотреть на этом скриншоте (46,5 Кб).

Напоследок хотелось бы напомнить, что перед установкой на устройство sis пакет темы необходимо подписать. Сделать это можно тут же в SISContents, нажав Tools->Sign package в главном меню программы. Далее в списке профилей следует выбрать SISContenst self-signed certificate и нажать на Add signature. Данный сертификат не ограничен списком IMEI аппаратов, на которых он действителен, и пакет, им подписанный, можно установить на любое устройство.

Ниже список текущих ограничений, связанных с редактированием иконок приложений, и заметка о том, как узнать UID нужной программы.

Список текущих ограничений:
- редактирование иконок папок пока не поддерживается;
- замена и добавление иконок в формате bmp не поддерживается. Необходимо использовать векторные картинки в формате SVG или SVGB;
- удаление иконки не удаляет ее картинку из mif файла. На данном этапе это может привести к нарушению порядка чередования картинок в теме и привести к тому, что вся графика будет отображаться не на своих местах. Однако, несмотря на то, что картинка в mif файле сохраняется, операционная система аппарата не использует ее при отрисовке темы.

Узнаем UID нужной программы
В случае если приложение, для которого планируется добавление иконки, установлено на устройстве, можно воспользоваться менеджером задач. Например, Best Taskman (версия для S60 3rd edition и версия для S60 5th edition). Можно запустить приложение и посмотреть его UID в списке запущенных программ Best Taskman (нажав Options->Application info) или перейти на вкладку установленных на аппарат приложений (Options->View->аdvanced->Installed apps.) и найти нужную программу без ее запуска.
Если приложение не установлено, но есть его sis пакет, нужно открыть его в SISContents, найти в списке файл с расширением .exe и дважды кликнуть на нем левой кнопкой мыши. В появившемся окне нужно смотреть на графу UID3. Если исполняемых файлов с расширением .exe в пакете несколько, определить среди них имеющее иконку сложнее. Обычно UID этого приложения, совпадает с UID sis пакета, но так бывает не всегда. Можно попробовать поискать информацию об UID каждого файла в Google, создатели тем выкладывают списки UID в интернет, и это может помочь найти нужный. Но лучшим способом будет установить пакет на устройство и посмотреть UID.

Прикрепленный файл #1: screen01_by_aqua000_in_12092009204849_articles.jpg (39.06 кб)
Прикрепленный файл #2: screen02_by_aqua000_in_12092009204849_articles.jpg (63.86 кб)

DimonVideo
2009-09-13T00:32:37Z

Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 12

#2   Karp.exe    

а рельно сделать такую фишку - при добалении иконки к приложению - чтоб выбирать можно было не только SVG (SVGB) но и MIF файл. стало бы на много удобнее smile


0 ответить

#2   jack6600    

Интересная статья! Правда если сидеть и подбирать на свой вкус иконки и заменить всё - уйдет немало времени smile


0 ответить

Яндекс.Метрика