xdotool: Неизвестная команда: 21043361

Насколько я знаю, нижняя строка кода должна сфокусироваться на открытом окне nautilus

xdotool windowactivate `xdotool search --onlyvisible --class nautilus`

Но я получаю ошибку

xdotool: Неизвестная команда: 21043361
1
задан 31 October 2012 в 04:28

1 ответ

xdotool автор здесь.

То, что вы видите, очень вероятно, что есть два идентификатора окна. Вы можете попробовать и выяснить, какой именно идентификатор окна был тем, который вам нужен, но в большинстве случаев можно просто использовать функции «командная цепочка» и «стек стека» - см. «WINDOW STACK» и «КОМАНДНАЯ ЦЕПИНГ» в man-странице xdotool.

Простейшим решением вашего вопроса является поиск xdotool и передача идентификаторов окна непосредственно в команду windowactivate, например:

xdotool search --onlyvisible --class nautilus windowactivate

Вышеупомянутый поиск выполняет, сохраняет результаты в стеке окон, а затем вызывает windowactivate, который без аргументов применяется к первому окну стека окон (он же «% 1»). Подумайте об этом как способе транслировать результаты поиска в другие команды xdotool в одной и той же командной строке.

Вот еще один пример, чтобы получить заголовки всех окон Chrome, используя стек окон «% @», который означает «все окна в стеке» (в отличие от% 1,% 2 и т. д., которые являются конкретными окнами в стеке)

% xdotool search --onlyvisible --class chrome getwindowname %@   
asdf - Google Search - Google Chrome
CNN.com - Breaking News, U.S., World, Weather, Entertainment & Video News - Google Chrome
Ask Ubuntu - Google Chrome
Google Chrome

В общем, любая команда, которая испускает идентификатор окна (search, selectwindow, getactivewindow и т. д.) будет заполнять стек окна для использования с цепочками команд. Другой пример: убить окно (обычно закрывает приложение), щелкнув по нему:

% xdotool selectwindow windowkill
3
ответ дан 25 May 2018 в 04:54

Другие вопросы по тегам:

Похожие вопросы: