Об этом проекте

perfuncted — это библиотека и командный интерфейс на Go, предназначенный для автоматизации приложений на рабочем столе Linux. Она упрощает процесс, автоматически определяя тип сессии пользователя (X11 или Wayland) во время выполнения и выбирая соответствующий бэкенд, что исключает необходимость ручной настройки. Инструмент предоставляет широкие возможности, включая захват экрана, инъекцию ввода (набор текста, клики, перетаскивание) и управление окнами (активация, перемещение, изменение размера, закрытие). Он поддерживает различные композиторы Wayland, такие как Sway, KDE Plasma и GNOME, с конкретными интеграциями, например, встроенным расширением GNOME Shell для родного управления. Библиотека предоставляет фасады для экрана, ввода, окон, выходов, буфера обмена и доступности (AT-SPI), позволяя разработчикам создавать надежные скрипты автоматизации. Также включен CLI-инструмент `pf` для проверки доступности бэкенда и выполнения команд. Установка поддерживается через Go install или пакеты Flatpak, с опциональными зависимостями, такими как `wl-clipboard` или `xclip`, для определенных функций.