[devel] Mime priorities for XFCE, LXDE, GNOME

Igor Vlasenko ivlasenko на gmail.com
Пн Май 2 18:30:00 UTC 2011


Уважаемые коллеги,

Апстримы сейчас массово отказываются от встроенных методов определения
приоритетов приложений для обработки mime типов и переходят на
стандарт freedesktop.org.
В результате, все, что как-то по старинке работало, перестает
работать, поэтому нам надо догнать прогресс и настроить приоритеты
приложений для обработки mime типов по стандарту freedesktop.org.

Согласно стандарту freedesktop.org, предпочтения mimetypes
естественным образом настраиваются по цепочке.
Разумный минимум такой цепочки выглядит как
[общесистемные умолчания] <-- [умолчания среды] <-- [умолчания
брендинга дистрибутива] <-- [умолчания пользователя]

в этой цепочке пакет altlinux-mime-defaults это [общесистемные умолчания],
а [умолчания среды] у нас сейчас есть только для kde4.
а вот для GNOME, XFCE, LXDE умолчаний среды у нас еще нет, что плохо,
так как все-таки эти среды имеют свою специфику, которая не отражена в
общесистемных умолчаниях.

Таким образом,
следующие шаги -- явно описать умолчания среды для GNOME, XFCE, LXDE,
а также добавить возможность подгружать умолчания брендинга дистрибутива.

Разберем, как эта настройка выглядела бы на примере XFCE.

Минимальные отличные от общесистемных умолчания среды для XFCE
выглядят как файл defaults.list:
----------------------------------------------
[Default Applications]
x-scheme-handler/file=exo-file-manager.desktop
x-scheme-handler/http=exo-web-browser.desktop
x-scheme-handler/https=exo-web-browser.desktop
x-scheme-handler/mailto=exo-mail-reader.desktop
x-scheme-handler/trash=exo-file-manager.desktop
----------------------------------------------
Туда, возможно, можно было бы добавить и еще что-нибудь,
XFCE team видней.

Логично было бы разместить его как
/usr/share/xfce/applications/defaults.list
Чтобы это все работало, надо добавить
export XDG_DATA_DIRS=/usr/share/xfce:/usr/share в /usr/bin/startxfce4.
как как XFCE по своей инициативе в /usr/share/xfce не смотрит.

Это разумный минимум.
Кроме того, есть еще такая тема, как брендинги XFCE.

в брендингах могли бы быть свои defaults.list,
например, с xarchiver.desktop по умолчанию для архивов.
брендинг мог бы разместить его как
/usr/share/xfce-settings/<имя брединга>/applications/defaults.list
и через альтернативы переключить симлинк
/usr/share/xfce-settings/current -> /usr/share/xfce-settings/<имя брединга>

Чтобы это все работало, надо добавить
export XDG_DATA_DIRS=/usr/share/xfce-settings/current:/usr/share/xfce:/usr/share
в /usr/bin/startxfce4.

Такая схема с бредингами выглядит более корректной, чем таскать мусор
в /etc/skel/.local/share.

Более того, если сделать
export XDG_CONFIG_DIRS=/usr/share/xfce-settings/current:/etc/xdg
то в /usr/share/xfce-settings/<имя брединга> можно было бы перенести и
то, что сейчас брендинги складывают в /etc/skel/.config.

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


Подробная информация о списке рассылки Devel