Задача
Необходимо разработать Linux-реализацию для существующего модуля TApplicationMonitor, который занимается трекингом пользовательской активности. Модуль ежесекундно собирает информацию об открытых окнах, запущенных процессах, активном окне и соответствующем ему процессе.
Требования
- Среда: Delphi 13, целевая платформа - Linux (Ubuntu 22 и выше, с окружением Wayland)
- Использовать готовую платформонезависимую структуру модуля TApplicationMonitor и его метод InternalUpdate в качестве основы
- Ориентироваться на примеры псевдокода из реализации под MacOS, добавленные в виде комментариев к исходникам (документация прилагается)
- Приложение должно работать даже будучи свёрнутым или без иконки в трее - получение данных об окнах и процессах должно сохраняться
- В процессе разработки необходимо предоставлять исполняемый файл для Ubuntu 22-24+ для тестирования
Функционал для проверки
При тестировании демо-версия должна каждую секунду логировать:
- Название активного окна (меняется при смене фокуса)
- PID процесса активного окна
- Актуальный список всех открытых окон в системе
- Актуальный список запущенных процессов
Формат предоставления
- Исходный код Delphi (Linux-часть модуля)
- Готовый исполняемый файл .pe или запускаемый бинарник для Ubuntu 22-24+