Управление запускаем приложений, открытием файлов и управлением окнами через WM. Демоны составляют индекс приложений в PATH, а также доступных пользователю документов и открытых окон.
In active development and not suitable for use by end users!
- 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.