Reative pid armazenado de uma janela com xdotool

1

Primeiro, eu armazeno a janela pid de uma ativa .

active_window_pid=$(xdotool getactivewindow getwindowpid)

Em segundo lugar, clico em outra janela, que na verdade é a função abaixo.

mouse_click     4000 1000

Em terceiro lugar, quero reativar a janela anteriormente ativa , infelizmente sem sucesso.

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

    }

O que eu fiz de errado desta vez? Alguma idéia?

    
por Vlastimil 03.06.2016 / 12:08

1 resposta

1

Existe um erro em xdotool em algumas versões, pelo menos.

string de bug:

Can't consume 1 args; are only 0 available. This is a bug.

rastreador de bugs: link

solução alternativa de bugs:
definir --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

}
    
por 03.06.2016 / 15:15