¿Cómo evitar que xdotool bloquee la ventana actual después de un script?

¿Cómo evitar que xdotool bloquee la ventana actual después de un script?

Tengo un script BASH simple con xdotool, que lee algunos datos de un CSV y los ingresa en un formulario en algún otro software:

#!/bin/bash

sleep 5

while read -r line
do
    a="$(echo $line | awk '{ print $1 }')"
    xdotool type $a
    xdotool key "$Tab"
done < ./data.csv

aplay Beep.wav

El script funciona según lo previsto, pero después del pitido, la pantalla se bloquea:

  • El mouse se mueve, pero ninguna ventana puede verlo (por ejemplo, la información sobre herramientas no aparece) y no puede hacer clic en nada, ni siquiera en la ventana actual.
  • Las palabras del teclado, pero sólo dentro de la ventana actual.
  • La ventana se bloquea de esta manera durante unos 5 minutos y, de repente, ya no se bloquea.

CTRL+ALT+F1 me permite cambiar de consola, pero killall -9 xfce4-terminalno killall -9 xdotooldetuvo el bloqueo.

¿Cómo puedo evitar xdotoolbloquear la ventana actual después de ejecutarla en un script?

Respuesta1

Suena porque está esperando que hagas clic en la ventana con la que deseas interactuar. ¿No notaste que el cursor cambió a un símbolo '+'?

Lea la página de manual nuevamente. Debe proporcionar una identificación de ventana (--windowidentificación)

Respuesta2

Me encontré con esta pregunta bastante antigua buscando una respuesta, porque tengo un problema similar. Utilizo xdotool para escribir automáticamente información de inicio de sesión en sitios web (en Firefox).

Vinculé una combinación de teclas a un script con xbindkeys. El script identifica el nombre de la ventana (también con xdotool), busca una entrada asociada en un archivo cifrado, carga la información de inicio de sesión adecuada y la escribe.

No voy a explicar las complejidades de mi script, la interacción del usuario con él y la forma en que ingresa información en los campos de entrada. Sin embargo, resolví el problemaagregar un breve sueño justo antes de escribir.

sleep 0.4
xdotool type ...

Admito que esta es una solución pirateada, pero parece funcionar. Espero que esta solución pueda ser de alguna ayuda para cualquiera que busque superar este error tan frustrante (?), o tal vez inste a alguien más a escribir una mejor respuesta.

información relacionada