Icon Paths Policy: различия между версиями

Материал из ALT Linux Wiki
(→‎Старый вариант: HOWTO+policy: удалён за ненадобностью)
 
(не показано 35 промежуточных версий 7 участников)
Строка 1: Строка 1:
{{Policy|since_branch=4.0|responsible=Игорь Власенко|metabug=repocop icon_path тест статус}}
{{Policy|since_branch=4.0|responsible=Игорь Власенко|metabug=repocop icon_path тест статус}}
{{викифицировать}}
{{span|font-size: 180%|Политика упаковки пиктограмм. 3-я редакция.}}


== Политика упаковки пиктограмм ==
Данная политика относится к упаковке пиктограмм, на которые ссылаются файлы меню оконных менеджеров.
 
== Пиктограммы в .menu/.desktop-файлах ==
В <tt>.menu</tt>-файлах (Debian menu, старый формат) пиктограмма указывается параметром <tt>icon="icon.file"</tt>. Значением параметра должно быть имя файла с пиктограммой и расширением, но без пути к файлу либо (не рекомендуется) полный путь к файлу.
 
В <tt>.desktop</tt>-файлах (freedesktop.menu, текущий формат) пиктограмма указывается параметром <tt>Icon=iconfile</tt>. Значением параметра должно быть имя иконки: имя файла с пиктограммой, но без расширения. Допускается, но не рекомендуется, указание имени с расширением или полного пути к файлу с пиктограммой.
 
Ссылки на пиктограмму из <tt>.menu</tt>/<tt>.desktop</tt>-файлов должны указывать на пиктограмму, упакованную по этой политике, и находящуюся либо в пакете с <tt>.menu</tt>/<tt>.desktop</tt>-файлом, либо в пакете, от которого зависит данный.
 
<tt>.menu</tt>/<tt>.desktop</tt>-файлы могут не ссылаться на пиктограммы вообще.
 
== Формат пиктограмм ==
Допустимые форматы пиктограмм: растровые — PNG, XPM, векторый — SVG (в том числе сжатый gzip`ом — SVGZ). Пиктограммы в других форматах должны быть либо сконвертированы в перечисленные ранее, либо выкинуты при упаковке.
 
== Именование пиктограмм ==
Имена файлов пиктограмм должны иметь расширения в нижнем регистре: <tt>.png</tt>, <tt>.xpm</tt>, <tt>.svg</tt>, <tt>.svgz</tt> для соответствующих типов.
 
== Упаковка пиктограмм ==
Обязательна упаковка растровой пиктограммы размера 48x48.
 
Растровые пиктограммы других размеров и векторная пиктограмма рекомендуются к упаковке при наличии.
 
При наличии PNG и XPM пиктограмм одинакового размера можно не упаковывать XPM-пиктограмму (исправив <tt>.desktop</tt>/<tt>.menu</tt> файл при необходимости).
 
== Расположение и размеры пиктограмм ==
Приложение может содержать как «общие» пиктограммы, так и пиктограммы для определённых «тем».
 
=== «Общие» пиктограммы ===
'''Должны''' упаковываться как пиктограммы темы <tt>hicolor</tt>.
 
Для упаковки пиктограмм размеров 16x16, 32x32, 48x48 имеются стандартные макросы
<pre>
%_miconsdir/ (mini,  16x16) [/usr/share/icons/hicolor/16x16/apps]
%_niconsdir/ (normal,32x32) [/usr/share/icons/hicolor/32x32/apps]
%_liconsdir/ (large, 48x48) [/usr/share/icons/hicolor/48x48/apps]
</pre>
 
=== Пиктограммы определённой «темы» ===
Векторные пиктограммы должны располагаться в директории <tt>/usr/share/icons/<тема>/scalable/apps</tt>.
 
Растровые пиктограммы должны располагаться в директориях <tt>/usr/share/icons/<тема>/WWxHH/apps</tt>, где WW и HH — ширина и высота пиктограммы в пикселях.
 
=== Регламентированное использование {{path|/usr/share/pixmaps}} как свалки пиктограмм. ===
 
Согласно freedesktop.org, папка {{path|/usr/share/pixmaps}} может использоваться как синоним %_iconsdir,
т.е. как дополнительный корневой каталог для поиска тем и пиктограмм.
В частности, в корневом каталоге ищутся неклассифицированные пиктограммы, что позволяет использовать его как свалку пиктограмм.
В fedora эта папка используется в качестве %_liconsdir, так как туда принято складывать пиктограммы 48x48.
Под влиянием fedora, как следствие заимствования .spec файлов, некоторое время назад стихийно возникла практика использовать {{path|/usr/share/pixmaps}} как синоним %_liconsdir, а также как свалку для пиктограмм разного размера, что есть плохо.
 
Поэтому предлагается использовать {{path|/usr/share/icons}} для упорядоченного хранения пиктограмм согласно стандарту,
а {{path|/usr/share/pixmaps}} временно допускается, но не рекомендуется, использовать как свалку.
Рекомендуется разгрести свалку в {{path|/usr/share/pixmaps}} заранее, так как следующая редакция полиси может ее полностью запретить.
 
'''Запрещается''' использовать {{path|/usr/share/icons}} как свалку для пиктограмм.


__TOC__
Использование {{path|/usr/share/pixmaps}} '''не рекомендуется''', но допускается в указанных ниже случаях:


Данная политика относится к упаковке пиктограмм, на которые ссылаются файлы меню оконных менеджеров.
Допускается, но ''не рекомендуется'', упаковка пиктограмм размера 48×48 в {{path|/usr/share/pixmaps}}.
(рекомендуется перемещать все такие пиктограммы 48×48 в {{path|%_liconsdir}}).


=== Ссылки ===
'''Запрещается''' устанавливать темы в {{path|/usr/share/pixmaps}}.


Нормативные:
Допускается, но ''не рекомендуется'' создавать приватные свалки пиктограмм в {{path|/usr/share/pixmaps/<name>/}}.
* [[Policy/MenuFiles|Политика упаковки файлов для меню оконных менеджеров]]
* [http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html fd.o Icon Theme Specification]
Ненормативные:
* [[IconsPackaging|HOWTO по упаковке пиктограмм]]


=== Пиктограммы в .menu/.desktop-файлах ===
Не допускается упаковка пиктограмм в {{path|/usr/share/pixmaps}} размеров 16x16 и 32x32.  
(Требуется перемещать все такие пиктограммы в {{path|%_miconsdir}} (16x16) и {{path|%_niconsdir}} (32x32)).


В <tt>.menu</tt>-файлах (Debian menu, старый формат) пиктограмма указывается параметром <tt>icon="icon.file"</tt>. Значением параметра должно быть имя файла с пиктограммой с расширением, но без пути к файлу, либо (не рекомендуется) полный путь к файлу.
Крайне не рекомендуется упаковка пиктограмм в {{path|/usr/share/pixmaps}}, размеров, отличных от размера 48×48.  
Как исключение, допускается наличие пиктограмм других размеров, если это единственная пиктограмма для приложения.


В <tt>.desktop</tt>-файлах (freedesktop.menu, текущий формат) пиктограмма указывается параметром <tt>Icon=iconfile</tt>. Значением параметра должно быть имя иконки: имя файла с пиктограммой, но без расширения. Допускается, но не рекомендуется, указание имени с расширением или полного пути к файлу с пиктограммой.
== История изменений ==


Ссылки на пиктограмму из <tt>.menu</tt>/<tt>.desktop</tt>-файлов должны указывать на пиктограмму, упакованную по этой политике, и находящуюся либо в пакете с <tt>.menu</tt>/<tt>.desktop</tt>-файлом, либо в пакете, от которого зависит данный.
=== Первая редакция ===


<tt>.menu</tt>/<tt>.desktop</tt>-файлы могут не ссылаться на пиктограммы вообще.
Действие: до Мастера 2.4 включительно.


=== Формат пиктограмм ===
Требовала наличие пиктограмм 3-х размеров (16x16, 32x32, 48x48)
расположенных в {{path|/usr/share/icons{,/mini,/large} }}.


Допустимые форматы пиктограмм: растровые - PNG, XPM, векторый - SVG. Пиктограммы в других форматы должны быть либо сконвертированы в эти, либо выкинуты при упаковке.
Эти пути были совместимы со старым Debian и старым Mandrake.
Устарели после принятия стандарта freedesktop.org.


=== Именование пиктограмм ===
==== Миграция с Первой редакции ====


Имена файлов пиктограмм должны иметь расширения в нижнем регистре: <tt>.png</tt>, <tt>.xpm</tt>, <tt>.svg</tt> для соответствующих типов.
Необходимо изменить пути (желательно, используя макросы)
согласно следующей таблицы.


=== Упаковка пиктограмм ===
{| class="standard"
! Старый путь
! Новый путь
! Старый макрос
! Новый макрос
|-
| /usr/share/icons/mini
| /usr/share/icons/hicolor/16x16/apps
| %_miconsdir
| %_miconsdir
|-
| /usr/share/icons
| /usr/share/icons/hicolor/32x32/apps
| %_iconsdir
| %_niconsdir
|-
| /usr/share/icons/large
| /usr/share/icons/hicolor/48x48/apps
| %_liconsdir
| %_liconsdir
|}


Обязательна упаковка растровой пиктограммы развера 48x48. Растровые пиктограммы других размеров и векторная пиктограмма рекомендуются к упаковке при наличии.
=== Вторая редакция ===


При наличии PNG и XPM пиктограмм одинакового размера можно не упаковывать XPM-пиктограмму (исправив <tt>.desktop</tt>/<tt>.menu</tt> файл при необходимости).
Действие: бранч 4.0-4.1.


=== Расположение и размеры пиктограмм ===
отличалась от Третьей редакции только требованием наличия пиктограмм 3-х размеров:
16x16, 32x32, 48x48.


Приложение может содержать как "общие" пиктограммы, так и пиктограммы для определённых "тем".
Теперь, начиная с Третьей редакции, достаточно иметь только одну пиктограмму размера 48x48.


==== "Общие" пиктограммы ====
При необходимости, если оконный менеджер не умеет масштабировать пиктограммы, сервис
[http://git.altlinux.org/people/viy/packages/?p=wm-common-pixmap-autoscaler.git;a=summary wm-common-pixmap-autoscaler]
позволяет автоматически создавать уменьшенные пиктограммы размеров 16x16 и 32x32.


Упаковываются как пиктограммы темы <tt>hicolor</tt>.
==== Миграция с Второй редакции ====


==== Пиктограммы определённой "темы" ====
Не требуется. Пакеты, соответствующие Второй редакции, удоволетворяют и Третьей редакции.


Векторные пиктограммы должны располагаться в директории <tt>/usr/share/icons/<тема>/scalable/apps</tt>.
== Ссылки ==
Нормативные:
* [http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html fd.o Icon Theme Specification]
Ненормативные:
* [[IconsPackaging|HOWTO по упаковке пиктограмм]]


Растровые пиктограммы должны располагаться в директориях <tt>/usr/share/icons/<тема>/WWxHH/apps</tt>, где WW и HH - ширина и высота пиктограммы в пикселях.
[[Категория:Icons]]

Текущая версия от 11:27, 19 декабря 2012

Stamp90cw.png
Действующая политика Sisyphus

Политика действует, начиная со стабильного бранча 4.0 и выше.

Ответственный за проведение политики в жизнь — Игорь Власенко.

Нарушения политики отслеживаются: repocop icon_path тест статус


Политика упаковки пиктограмм. 3-я редакция.

Данная политика относится к упаковке пиктограмм, на которые ссылаются файлы меню оконных менеджеров.

Пиктограммы в .menu/.desktop-файлах

В .menu-файлах (Debian menu, старый формат) пиктограмма указывается параметром icon="icon.file". Значением параметра должно быть имя файла с пиктограммой и расширением, но без пути к файлу либо (не рекомендуется) полный путь к файлу.

В .desktop-файлах (freedesktop.menu, текущий формат) пиктограмма указывается параметром Icon=iconfile. Значением параметра должно быть имя иконки: имя файла с пиктограммой, но без расширения. Допускается, но не рекомендуется, указание имени с расширением или полного пути к файлу с пиктограммой.

Ссылки на пиктограмму из .menu/.desktop-файлов должны указывать на пиктограмму, упакованную по этой политике, и находящуюся либо в пакете с .menu/.desktop-файлом, либо в пакете, от которого зависит данный.

.menu/.desktop-файлы могут не ссылаться на пиктограммы вообще.

Формат пиктограмм

Допустимые форматы пиктограмм: растровые — PNG, XPM, векторый — SVG (в том числе сжатый gzip`ом — SVGZ). Пиктограммы в других форматах должны быть либо сконвертированы в перечисленные ранее, либо выкинуты при упаковке.

Именование пиктограмм

Имена файлов пиктограмм должны иметь расширения в нижнем регистре: .png, .xpm, .svg, .svgz для соответствующих типов.

Упаковка пиктограмм

Обязательна упаковка растровой пиктограммы размера 48x48.

Растровые пиктограммы других размеров и векторная пиктограмма рекомендуются к упаковке при наличии.

При наличии PNG и XPM пиктограмм одинакового размера можно не упаковывать XPM-пиктограмму (исправив .desktop/.menu файл при необходимости).

Расположение и размеры пиктограмм

Приложение может содержать как «общие» пиктограммы, так и пиктограммы для определённых «тем».

«Общие» пиктограммы

Должны упаковываться как пиктограммы темы hicolor.

Для упаковки пиктограмм размеров 16x16, 32x32, 48x48 имеются стандартные макросы

%_miconsdir/ (mini,  16x16) [/usr/share/icons/hicolor/16x16/apps]
%_niconsdir/ (normal,32x32) [/usr/share/icons/hicolor/32x32/apps]
%_liconsdir/ (large, 48x48) [/usr/share/icons/hicolor/48x48/apps]

Пиктограммы определённой «темы»

Векторные пиктограммы должны располагаться в директории /usr/share/icons/<тема>/scalable/apps.

Растровые пиктограммы должны располагаться в директориях /usr/share/icons/<тема>/WWxHH/apps, где WW и HH — ширина и высота пиктограммы в пикселях.

Регламентированное использование /usr/share/pixmaps как свалки пиктограмм.

Согласно freedesktop.org, папка /usr/share/pixmaps может использоваться как синоним %_iconsdir, т.е. как дополнительный корневой каталог для поиска тем и пиктограмм. В частности, в корневом каталоге ищутся неклассифицированные пиктограммы, что позволяет использовать его как свалку пиктограмм. В fedora эта папка используется в качестве %_liconsdir, так как туда принято складывать пиктограммы 48x48. Под влиянием fedora, как следствие заимствования .spec файлов, некоторое время назад стихийно возникла практика использовать /usr/share/pixmaps как синоним %_liconsdir, а также как свалку для пиктограмм разного размера, что есть плохо.

Поэтому предлагается использовать /usr/share/icons для упорядоченного хранения пиктограмм согласно стандарту, а /usr/share/pixmaps временно допускается, но не рекомендуется, использовать как свалку. Рекомендуется разгрести свалку в /usr/share/pixmaps заранее, так как следующая редакция полиси может ее полностью запретить.

Запрещается использовать /usr/share/icons как свалку для пиктограмм.

Использование /usr/share/pixmaps не рекомендуется, но допускается в указанных ниже случаях:

Допускается, но не рекомендуется, упаковка пиктограмм размера 48×48 в /usr/share/pixmaps. (рекомендуется перемещать все такие пиктограммы 48×48 в %_liconsdir).

Запрещается устанавливать темы в /usr/share/pixmaps.

Допускается, но не рекомендуется создавать приватные свалки пиктограмм в /usr/share/pixmaps/<name>/.

Не допускается упаковка пиктограмм в /usr/share/pixmaps размеров 16x16 и 32x32. (Требуется перемещать все такие пиктограммы в %_miconsdir (16x16) и %_niconsdir (32x32)).

Крайне не рекомендуется упаковка пиктограмм в /usr/share/pixmaps, размеров, отличных от размера 48×48. Как исключение, допускается наличие пиктограмм других размеров, если это единственная пиктограмма для приложения.

История изменений

Первая редакция

Действие: до Мастера 2.4 включительно.

Требовала наличие пиктограмм 3-х размеров (16x16, 32x32, 48x48) расположенных в /usr/share/icons{,/mini,/large} .

Эти пути были совместимы со старым Debian и старым Mandrake. Устарели после принятия стандарта freedesktop.org.

Миграция с Первой редакции

Необходимо изменить пути (желательно, используя макросы) согласно следующей таблицы.

Старый путь Новый путь Старый макрос Новый макрос
/usr/share/icons/mini /usr/share/icons/hicolor/16x16/apps %_miconsdir %_miconsdir
/usr/share/icons /usr/share/icons/hicolor/32x32/apps %_iconsdir %_niconsdir
/usr/share/icons/large /usr/share/icons/hicolor/48x48/apps %_liconsdir %_liconsdir

Вторая редакция

Действие: бранч 4.0-4.1.

отличалась от Третьей редакции только требованием наличия пиктограмм 3-х размеров: 16x16, 32x32, 48x48.

Теперь, начиная с Третьей редакции, достаточно иметь только одну пиктограмму размера 48x48.

При необходимости, если оконный менеджер не умеет масштабировать пиктограммы, сервис wm-common-pixmap-autoscaler позволяет автоматически создавать уменьшенные пиктограммы размеров 16x16 и 32x32.

Миграция с Второй редакции

Не требуется. Пакеты, соответствующие Второй редакции, удоволетворяют и Третьей редакции.

Ссылки

Нормативные:

Ненормативные: