Icon Paths Policy
Материал из ALT Linux Wiki
(пометка к викификации) |
Sb (обсуждение | вклад) м (→Формат пиктограмм) |
||
(37 промежуточных версий не показаны.) | |||
Строка 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>.menu</tt>-файлах (Debian menu, старый формат) пиктограмма указывается параметром <tt>icon="icon.file"</tt>. Значением параметра должно быть имя файла с пиктограммой | + | |
В <tt>.desktop</tt>-файлах (freedesktop.menu, текущий формат) пиктограмма указывается параметром <tt>Icon=iconfile</tt>. Значением параметра должно быть имя иконки: имя файла с пиктограммой, но без расширения. Допускается, но не рекомендуется, указание имени с расширением или полного пути к файлу с пиктограммой. | В <tt>.desktop</tt>-файлах (freedesktop.menu, текущий формат) пиктограмма указывается параметром <tt>Icon=iconfile</tt>. Значением параметра должно быть имя иконки: имя файла с пиктограммой, но без расширения. Допускается, но не рекомендуется, указание имени с расширением или полного пути к файлу с пиктограммой. | ||
Строка 26: | Строка 13: | ||
<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> файл при необходимости). | При наличии 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/<тема>/scalable/apps</tt>. | ||
- | Растровые пиктограммы должны располагаться в директориях <tt>/usr/share/icons/<тема>/WWxHH/apps</tt>, где WW и | + | Растровые пиктограммы должны располагаться в директориях <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}} как свалку для пиктограмм. | |
- | + | ||
- | + | ||
- | + | Использование {{path|/usr/share/pixmaps}} '''не рекомендуется''', но допускается в указанных ниже случаях: | |
- | + | Допускается, но ''не рекомендуется'', упаковка пиктограмм размера 48×48 в {{path|/usr/share/pixmaps}}. | |
+ | (рекомендуется перемещать все такие пиктограммы 48×48 в {{path|%_liconsdir}}). | ||
- | + | '''Запрещается''' устанавливать темы в {{path|/usr/share/pixmaps}}. | |
- | + | ||
- | + | Допускается, но ''не рекомендуется'' создавать приватные свалки пиктограмм в {{path|/usr/share/pixmaps/<name>/}}. | |
- | + | ||
- | + | ||
- | + | Не допускается упаковка пиктограмм в {{path|/usr/share/pixmaps}} размеров 16x16 и 32x32. | |
- | + | (Требуется перемещать все такие пиктограммы в {{path|%_miconsdir}} (16x16) и {{path|%_niconsdir}} (32x32)). | |
- | + | Крайне не рекомендуется упаковка пиктограмм в {{path|/usr/share/pixmaps}}, размеров, отличных от размера 48×48. | |
+ | Как исключение, допускается наличие пиктограмм других размеров, если это единственная пиктограмма для приложения. | ||
- | + | == История изменений == | |
- | + | ||
- | === | + | === Первая редакция === |
- | + | Действие: до Мастера 2.4 включительно. | |
- | + | Требовала наличие пиктограмм 3-х размеров (16x16, 32x32, 48x48) | |
- | + | расположенных в {{path|/usr/share/icons{,/mini,/large} }}. | |
- | + | ||
- | + | ||
- | + | ||
- | + | Эти пути были совместимы со старым Debian и старым Mandrake. | |
- | + | Устарели после принятия стандарта freedesktop.org. | |
- | + | ==== Миграция с Первой редакции ==== | |
- | + | Необходимо изменить пути (желательно, используя макросы) | |
+ | согласно следующей таблицы. | ||
- | + | {| 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 | ||
+ | |} | ||
- | + | === Вторая редакция === | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | Действие: бранч 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. | |
- | + | ||
- | + | ==== Миграция с Второй редакции ==== | |
- | + | ||
- | + | Не требуется. Пакеты, соответствующие Второй редакции, удоволетворяют и Третьей редакции. | |
- | + | == Ссылки == | |
- | + | Нормативные: | |
- | + | * [http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html fd.o Icon Theme Specification] | |
- | + | Ненормативные: | |
- | + | * [[IconsPackaging|HOWTO по упаковке пиктограмм]] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | [http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | [ | + | |
- | + | ||
- | [ | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | [ | + | [[Категория:Icons]] |
- | [ | + | |
- | + |
Текущая версия на 08:27, 19 декабря 2012
Политика упаковки пиктограмм. 3-я редакция.
Данная политика относится к упаковке пиктограмм, на которые ссылаются файлы меню оконных менеджеров.
Содержание |
В .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 — ширина и высота пиктограммы в пикселях.
Согласно 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.
Миграция с Второй редакции
Не требуется. Пакеты, соответствующие Второй редакции, удоволетворяют и Третьей редакции.
Ссылки
Нормативные:
Ненормативные: