Next Previous Table of Contents

### 13. Стандарт файловой системы KDE

Эта глава - копия стандарта файловой системы KDE, опубликованного на web-сайте KDE http://www.kde.org. Стандарт написан Richard Moore rich@kde.org

Стандарт файловой системы KDE

Этот документ определяет структуру каталогов, которую должны использовать все программы KDE. Это версия 0.0.4 стандарта.

### 13.1 Введение

Цель KDE FSSTD - создать уверенность, что все ресурсы (иконки, mime-типы и т.п.), необходимые приложению KDE, расположены в соответствующих директориях. Следование этой структуре позволит приложениям использовать такие инструменты, как класс KIconLoader, и реализует отделение платформеннозависимых данных, необходимых KDE, от платформеннонезависимых данных (сделав возможной инсталляцию для различных архитектур). В этом документе имена каталогов оканчиваются '/'. Когда употребляется слово 'appname', взятое в угловые скобки <вот так>, то это значит, что на его месте могут быть входы, соответствующие любому установленному приложению KDE. Слово 'lang' используется аналогично, чтобы показать, что здесь должны быть входы для всех поддерживаемых языков, состоящие из двух букв, например, 'fr' для французского, 'ru' для русского.

### 13.2 Структура каталогов

Структура каталогов KDE показана ниже, корневой каталог инсталляции KDE обычно '/opt/kde', и может быть получен в процессе выполнения вызовом метода kdedir() класса KApplication (это заменяет переменную окружения KDEDIR, которую постепенно перестают использовать). В данном документе этот каталог обозначается kdedir().

- kdedir()/
  - bin/
    - Бинарные файлы приложений
  - lib/
    - стандартные библиотеки KDE (libkdecore, например)
    - <appname>/
      - Платформеннозависимые данные приложения
  - include/
    - Стандартные файлы заголовков KDE
  - parts/
  - cgi-bin/
    - CGI программы для kdehelp
  - share/
    - doc/
      - HTML/
        - default --> ссылка на kdedir()/share/doc/HTML/en
        - <lang>/
          - <appname>/
            - index.html
            - Другие файлы помощи
    - config/
    - applnk/
      - System/
      - Utilities/
      - Applications/
      - Games/
      - kfind.kdelnk
      - khelp.kdelnk
      - khome.kdelnk
      - krefresh.kdelnk
    - mimelnk/
      - magic
      - text/
      - audio/
    - partlnk/
      - <partname>.kdelnk
    - icons/
      - Иконки, используемые в kdelnk файлах
      - <appname>.xpm
      - mini/
        - Мини-иконки для kpanel
    - toolbar/
      - Стандартные иконки панели инструментов (например, fileopen.xpm)
    - wallpapers/
      - Обои, используемые kdisplay
    - apps/
      - <appname>/
        - toolbar/
          - Иконки панели инструментов
        - pics/
          - Другие рисунки приложения
        - Платформеннонезависимые данные приложения
      - <libname>/
        - pics/
    - locale/
      - <lang>/
        - LC_MESSAGES/
          - <appname>.mo

### 13.3 Что это значит для разработчика?

Стандартное приложение KDE инсталлирует файлы в различные места вышеприведенной структуры. Безусловно необходимые файлы - исполнимые файлы приложения, файл kdelnk, иконка приложения и файлы помощи - все остальные не обязательны. Файлы инсталлируются в следующие каталоги:

> `

>     Тип файла                                         Расположение

>     Бинарные файлы приложения (необходимо             kdedir()/bin/
>     Файл kdelnk приложения (необходимо)               kdedir()/share/applnk/
>     Иконка приложения (необходимо)                    kdedir()/share/icons/<appname>.xpm
>     Файлы помощи приложения (необходимо)              kdedir()/share/doc/default/HTML/<appname>/<index>.html
>     Иконки панели инструментов приложения             kdedir()/share/apps/<appname>/toolbar/
>     Платформеннонезависимые данные приложения         kdedir()/share/apps/<appname>/
>     Платформеннозависимые данные приложения           kdedir()/lib/<appname>/

> `

### 13.4 Документация приложения

Я советую поместить хотя бы одну страницу в

kdedir()/doc/default/HTML/<appname>/<appname>.html

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

Приложения, поддерживающие несколько языков, должны поместить файлы на этих языках в kdedir()/doc/<lang>/HTML/<appname>/<appname>.html, создавая один 'lang' каталог для каждого языка, используя его двухбуквенный код, как обычно. Такое расположение файлов позволит создать ссылки между файлами помощи двух различных приложений, поддерживающих данный язык.

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

### 13.5 Что это значит для разработчиков библиотек?

- kdedir()/share/apps/<libname>/toolbar

Иконки панели инструментов для элементов библиотеки.

- kdedir()/share/apps/<libname>/pics

Другие картинки (bitmaps) для элементов библиотеки.

Next Previous Table of Contents