Управление запускаем приложений, открытием файлов и управлением окнами через WM.
Демоны составляют индекс приложений в PATH, а также доступных пользователю документов и открытых окон.
Status
In active development and not suitable for use by end users!
Daemons list
ade-exe-ctld - запуск приложений
ade-file-ctld - открытие и управление файлами
ade-wm-ctld - управление окнами WM
ade-roam-ctld - работа с базой OrgRoam (открытие документов базы через Emacs)
Демоны ctld обеспечивают только бекенд, работая в сессии WM с правами пользователя. Запуск их из WM позволит стартовать из них же другие графические приложения.
Демоны общаются через unix sockets (STREAM). К ним можно обращаться зная адрес сокета. См. internal/config.
План работ
Сначала реализуется только ade-exe-ctld для проверки концепта, остальные демоны позже.
Реализуется индексатор в N горутин (задаем по конфигу), который собирает в поисковый индекс исполняемые файлы из PATH, доступные юзеру
воркер индексатора обходит рекурсивно директории, начиная с указанной, выявляет файлы доступные для запуска
также индексируются файлы .desktop, содержащие инструкции для запуска приложений с метаданными по "Desktop Entry Specification"
для ключей Terminal запуск только через терминал (из ADE_DEFAULT_TERM или по переменной TERM)
индекс по локализациям имени нужен
Categories добавляются в индекс категорий, по которым можно устанавливать фильтр
Надо реализовать командный язык в стиле Forth с парсером (см. doc/cmdlist-protocol.md)
Реализуется пока только текстовый формат команд (см. TXT/BIN в заголовке), бинарный формат к проработке позже. Пакет parser.
Реализуется листенер с сокетом, для приема команд (пакет server). И их хендлинг после прохождения через парсер, а также возврат результатов в ответ на команды.
Тестовый клиент в виде cli на go, для тестов вместо реализации полноценного gui xopen.