FreeSource : VladislavZavjalov/Alterator

Альтератор


Оглавление документа

Запуск Альтератора

alterator -c <layout> -l ...

Параметры:

Кроме того, сделаны скрипты типа alterator-cmdline, alterator-standalone, acc, configd и т.д., просто вызывающие alterator -c <соответствующий layout>.

Для поиска файлов Альтератор использует две директории: ALTERATOR_DATADIR и ALTERATOR_LIBDIR. В соответствующие переменные окружения можно записывать несколько директорий через “:". Если переменные пусты – устанавливаются значения по умолчанию (/usr/share/alterator и /usr/lib/alterator), если дан ключ -l, к ним спереди добавляется ".". Исключение — поиск desktop-файлов – только в /usr/share/alterator. См. также текст про отладку модулей.

Кроме того, configd.layout использует переменную окружения ALTERATOR_HTMLDIR (или по умолчанию /var/www) — для поддержки старых модулей с template-* backend'ами, шаблоны которых лежат в /var/www... И еще кое-где жестко прописана директория /var/www

список Layout'ов


см. /usr/share/alterator/layouts/

Шина woo-bus, из чего состоит шина для разных Layout'ов


Каждый layout собирает несколько модулей на шину woo-bus (см tеlegraph.scm)

Шина строится в виде цепочки функций, каждая из которых получает два аргумента – команду и «следующую функцию». Функция как-то реагирует на команду, вызывает следующую функцию, получает от нее ответ и отдает свой ответ в предыдущую функцию...
Следующая функция – на самом деле не следующая функция из цепочки, а специальная обертка для нее — telegraph-run, которая знает про всю оставшуюся цепочку... Первая функция в цепочке должна висеть все необходимое время, остальные – сразу возвращать значение...

Команды, передаваемые по шине: (объект параметр1 значение1 параметр2 значение2...) уточнить!!!

Команды для использования в QT интерфейсах: Описание команд (не всех).


qtbrowser, alterator-browser-qt, alterator-browser-x11 — одно и тоже :)
alterator-browser-qt принимает параметр – каталог, куда засунется его сокет. Это важно в wizard.layout, поскольку в процессе chroot'а при инсталляции нужно этот каталог не потерять.

Таким образом, на шине встречаются следующие штуки:

Карты


atlas.scm – это способ искать разные файлы по правилам, указанным в специальных файлов («картах»). Так, в разных acc.layout, wizard.layout, stanalone.layout шина woo-bus строится совершенно одинаково, но запускается с использованием разных карт... В результате вместо std/frame используется, например, standalone/frame и т.д...

Atlas

Модули альтератора


Основное назначение alterator'а – управлять модулями настройки системы, показывать их граф.интерфейс и т.п... То есть, под разные задачи пишутся разные модули, а alterator обеспечивает их работу.

Модуль состоит из следующих частей:

Адресация разных объектов


Menu


про desktop-файлы и объединение модулей в меню