Xdotool --окная функция не регистрируется
Я некоторое время ломал голову над этой проблемой и зашел в тупик.
Я просто пытаюсь отправить один ключевой ввод в несфокусированное окно, используяxdotool key --window window_id
функция. Окно найдено, но ничего не регистрируется.
Для упрощения: я открываю два окна терминала. я бегуxdotool getactivewindow
в окне терминала A и получите window_ID. я бегуxdotool key --window "window_ID_A" x
в окне терминала B код запускается, но ничего не происходит.
Я провел несколько проверок работоспособности, напримерsleep 5; xdotool key x
а затем вручную переключив фокус на окно терминала A, которое работает по назначению. Я пробовал бегатьsleep 5; xdotool key --window "window_ID_A" x
и менял фокус вручную, но безрезультатно. Когда я ввожу поддельный window_ID:xdotool key --window "window_ID_C" x
xdotool правильно возвращается к использованию сфокусированного окна в качестве целевого, что заставляет меня полагать, что правильное окно находится в исходном коде. Я пробовал запустить --clearmodifiers, используя блокнот или libreoffice в качестве целевого окна и даже запускал с помощью sudo, без каких-либо изменений. Ничто из того, что я попробую, не заставит функцию --window работать.
Есть ли что-нибудь, что может конкретно помешать этой функции?
Я использую Linux Mint 20, Xfce 64-бит, x11.
Обычно со временем я разбираюсь в подобных вещах самостоятельно, но это сводит меня с ума. Любая помощь очень ценится!
Изменить: Единственное обходное решение, которое мне удалось придумать, это:tmp=$(xdotool getactivewindow); xdotool windowactivate --sync $(xdotool search --name "window_name") key x; xdotool windowactivate $tmp
Это не лучший обходной путь, поскольку мой экран будет переключаться на другое окно и обратно каждый раз, когда я запускаю сценарий.