Я ищу рекомендации для простой в использовании GUI-автоматизации/макро-платформы для Linux.
Если вы знакомы с AutoHotkey или AutoIT в Windows, то вы точно знаете, какие функции мне нужны, с уровнем сложности. Если вы не знакомы, то здесь небольшой фрагмент кода о том, как легко использовать AHK:
InputBox, varInput, Please enter some random text...
Run, notepad.exe
WinWaitActive, Untitled - Notepad
SendInput, %varInput%
SendInput, !f{Up}{Enter}{Enter}
WinWaitActive, Save
SendInput, SomeRandomFile{Enter}
MsgBox, Your text`, %varInput% has been saved using notepad!
#n::Run, notepad.exe
Теперь приведенный выше пример, хотя и немного бессмысленный, представляет собой демонстрацию той функциональности и простоты, которую я ищу. Вот объяснение для тех, кто не говорит AHK:
---- Начало пояснения кода ----
- Попросит пользователя ввести некоторый текст и сохранить его в varInput
- Запускает notepad.exe
- Ожидает, что окно существует и активно
- Отправляет содержимое varInput как последовательность нажатий клавиш
- Отправляет нажатия клавиш, чтобы перейти в Файл → Выход
- Ожидает, что окно "Сохранить" активно
- Отправляет еще несколько нажатий клавиш
-
Показывает окно сообщений с некоторым текстом и содержимым переменной
-
Регистрирует горячую клавишу, Win + N, которая при нажатии выполняет notepad.exe
---- Конец пояснения ----
Таким образом, вы можете понять, что функции совершенно очевидны: возможность легко имитировать функции клавиатуры и мыши, читать входные данные, обрабатывать и выводить на экран, выполнять программы, управлять окнами, записывать горячие клавиши и т.д. все делается без каких-либо #includes, ненужные скобки, объявления классов и т.д. Короче: простой.
Теперь я немного поиграл с Perl и Python, но это определенно не AHK. Они отлично подходят для более продвинутых материалов, но, конечно же, для упрощения автоматизации графического интерфейса должен быть какой-то инструмент?
PS: Я уже пытался запустить AHK с Wine, но отправка нажатий клавиш и горячих клавиш не работает.