Повторно активировать сохраненный pid окна с помощью xdotool

Во-первых, я храню pid активного окна.

 active_window_pid=$(xdotool getactivewindow getwindowpid) 

Во-вторых, я нажимаю на другое окно, которое на самом деле функционирует ниже.

 mouse_click 4000 1000 

В-третьих, я хочу повторно активировать ранее активное окно, к сожалению, безуспешно.

 xdotool search --pid $active_window_pid windowactivate 

function mouse_click

  function mouse_click { # 1. activate window and wait for sync, # we need to do this before each click, # because the user may have clicked on some other window during the 2 second delay # 2. move the mouse cursor to the given position and wait for sync # 3. click the left mouse button # 4. restore the original mouse cursor position and wait for sync # 5. wait for 2 seconds xdotool search --name "window name" windowactivate --sync xdotool mousemove --sync $1 $2 \ click 1 \ mousemove --sync restore \ sleep 2 } 

Что я на этот раз сделал неправильно? Есть идеи?

One Solution collect form web for “Повторно активировать сохраненный pid окна с помощью xdotool”

В некоторых версиях есть ошибка в xdotool .

строка с ошибкой:

Не может потреблять 1 аргументы; доступны только 0. Это ошибка.

баг трекер:
https://github.com/jordansissel/xdotool/issues/14

обход ошибки:
set --name "whatever"

 function activate_window_via_pid { # for the chrome browser there are multiple processes, # therefore we must pick one of them, # the last one seems to work window_id=$(xdotool search --pid $1 --name "bug workaround" | tail -1) xdotool windowactivate --sync $window_id } 
  • Есть ли у xdotool журнал?
  • xdotool печатает 8 вместо Tab
  • Как получить идентификатор окна из идентификатора процесса
  • Введите текст с помощью xdotool независимо от раскладки клавиатуры
  • Имитация нажатия клавиши PrintScreen
  • `xdotool` не отправляет ключи
  • Есть ли проблема с использованием xdotool для прямого нажатия клавиш на окна Java?
  • xdotool испортил ввод с клавиатуры
  • Делайте работу «читать», когда не фокусируетесь на терминале
  • Как определить, находится ли окно в фокусе?
  • Как запустить приложение в качестве док-станции в openbox
  • Linux и Unix - лучшая ОС в мире.