Este es el comando xdotool que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
xdotool - herramienta de automatización de línea de comandos X11
SINOPSIS
xdotool cmd argumentos ...
Notación: algunos usos de la documentación [ventana] para denotar un argumento de ventana opcional. Esta
case significa que el argumento, si no está presente, será por defecto "% 1". Consulte "PILA DE VENTANAS" para
qué significa "% 1".
DESCRIPCIÓN
xdotool le permite simular mediante programación (o manualmente) la entrada del teclado y la actividad del mouse,
mover y cambiar el tamaño de las ventanas, etc. Lo hace usando la extensión XTEST de X11 y otras Xlib
funciones.
Existe cierto soporte para las sugerencias del administrador de ventanas extendidas (también conocidas como EWMH o NetWM). Ver el
Sección "CONSEJOS EXTENDIDOS DEL ADMINISTRADOR DE VENTANAS" para obtener más información.
TECLADO COMANDOS
clave [opciones] golpe de teclado [golpe de teclado ...]
Opciones:
--ventana ventana
Envíe las pulsaciones de teclas a una identificación de ventana específica. Puede utilizar referencias de "WINDOW STACK"
como "% 1" y "% @" aquí. Si hay una pila de ventanas, entonces "% 1" es el predeterminado,
de lo contrario, se utiliza la ventana actual.
Consulte también: "SENDEVENT NOTES" y "WINDOW STACK"
- clearmodifiers
Elimina los modificadores antes de enviar pulsaciones de teclas. Consulte CLEARMODIFIERS a continuación.
--demora milisegundos
Retraso entre pulsaciones de teclas. El valor predeterminado es 12 ms.
Escriba una pulsación de tecla determinada. Por ejemplo, "alt + r", "Control_L + J", "ctrl + alt + n",
"Retroceso".
Generalmente, cualquier cadena X Keysym válida funcionará. Varias claves están separadas por '+'.
Existen alias para "alt", "ctrl", "shift", "super" y "meta" que se asignan a Foo_L,
como Alt_L y Control_L, etc.
En los casos en que su teclado no tenga la tecla que desea escribir, xdotool
encontrará automáticamente un código clave no utilizado y lo utilizará para escribir la clave.
Con respecto a "COMMAND CHAINING", este comando consume el resto del
argumentos o hasta que se vea un nuevo comando xdotool, porque no hay comandos xdotool
pulsaciones de teclas válidas.
Ejemplo: enviar la pulsación de tecla "F2"
tecla xdotool F2
Ejemplo: envíe 'a' con acento encima (no en teclados en inglés, pero aún funciona
con xdotool)
xdotool clave Agudo
Ejemplo: envíe ctrl + ly luego Retroceso como pulsaciones de teclas separadas:
tecla xdotool ctrl + l Retroceso
Ejemplo: envíe ctrl + c a todas las ventanas que coincidan con el título 'gdb' (consulte "ENCADENAMIENTO DE COMANDOS")
xdotool search --name tecla gdb ctrl + c
keydown [opciones] golpe de teclado
Igual que el anterior, excepto que solo se envían eventos de pulsación de teclas (pulsación).
tecla Arriba golpe de teclado
Igual que el anterior, excepto que solo se envían eventos keyup (release).
tipo [opciones] algo a tipo
Opciones:
--ventana identificador de ventana
Envíe las pulsaciones de teclas a una identificación de ventana específica. Consulte "ENVIAR NOTAS" a continuación. El valor por defecto,
si no se proporciona ninguna ventana, depende de la pila de ventanas. Si la pila de ventanas está vacía
la ventana actual se escribe usando XTEST. De lo contrario, el valor predeterminado es "% 1" (consulte
"PILA DE VENTANAS").
--demora milisegundos
Retraso entre pulsaciones de teclas. El valor predeterminado es 12 ms.
- clearmodifiers
Elimina los modificadores antes de enviar pulsaciones de teclas. Consulte CLEARMODIFIERS a continuación.
Escribe como si lo hubieras escrito. Admite nuevas líneas y pestañas (nueva línea y pestaña ASCII). Cada
la pulsación de tecla está separada por un retraso dado por el --demora .
Con respecto a "COMMAND CHAINING", este comando consume el resto del
argumentos y los escribe. Es decir, no se pueden encadenar comandos después de "tipo".
Ejemplo: para escribir '¡Hola mundo!' tu harías:
xdotool escriba '¡Hola mundo!'
RATÓN COMANDOS
movimiento del ratón [opciones] x y OR 'restaurar'
Mueva el mouse a las coordenadas X e Y específicas en la pantalla.
Puede mover el mouse a la ubicación anterior si especifica 'restaurar' en lugar de una
Coordenada X e Y. Restaurar solo funciona si se ha movido previamente en este mismo
invocación de comando. Además, no funciona con la opción --window.
Por ejemplo, para hacer clic en la esquina superior izquierda de la pantalla y mover el mouse a la
posición original antes de moverlo, use esto:
xdotool mousemove 0 0 clic 1 mousemove restaurar
--ventana VENTANA
Especifique una ventana a la que moverse en relación. Las coordenadas 0,0 están en la parte superior izquierda de la
ventana que elija.
Las referencias "WINDOW STACK" son válidas aquí, como% 1 y% @. Aunque, usando% @
probablemente no tenga sentido.
--pantalla PANTALLA
Mueva el mouse a la pantalla especificada para moverse. Esto solo es útil si tiene
múltiples pantallas y NO ESTÁN usando Xinerama.
El valor predeterminado es la pantalla actual. Si especifica --window, el indicador --screen es
ignorado
--polar
Usa coordenadas polares. Esto hace que 'x' sea un ángulo (en grados, 0-360, etc.) e 'y'
la distancia.
La rotación comienza en 'arriba' (0 grados) y gira en el sentido de las agujas del reloj: 90 = derecha, 180 = abajo,
270 = izquierda.
El origen está predeterminado en el centro de la pantalla actual. Si especifica un
--window, entonces el origen es el centro de esa ventana.
- clearmodifiers
Ver CLEARMODIFIERS
--sincronizar
Después de enviar la solicitud de movimiento del mouse, espere hasta que el mouse se mueva realmente. Si
no es necesario ningún movimiento, no esperaremos. Esto es útil para scripts que dependen
sobre las acciones que se están completando antes de continuar.
Nota: Esperamos hasta que el mouse se mueva, no necesariamente que realmente
llega a su destino previsto. Algunas aplicaciones bloquean el cursor del mouse para
ciertas regiones de la pantalla, por lo que esperar cualquier movimiento es mejor en el
caso general que esperar un objetivo específico.
mousemove_relativo [opciones] x y
Mueva los píxeles x, y del mouse en relación con la posición actual del cursor del mouse.
--polar
Usa coordenadas polares. Esto hace que 'x' sea un ángulo (en grados, 0-360, etc.) e 'y'
la distancia.
La rotación comienza en 'arriba' (0 grados) y gira en el sentido de las agujas del reloj: 90 = derecha, 180 = abajo,
270 = izquierda.
--sincronizar
Después de enviar la solicitud de movimiento del mouse, espere hasta que el mouse se mueva realmente. Si
no es necesario ningún movimiento, no esperaremos. Esto es útil para scripts que dependen
sobre las acciones que se están completando antes de continuar.
Tenga en cuenta que esperamos hasta que el mouse se mueva, no necesariamente que realmente
llega a su destino previsto. Algunas aplicaciones bloquean el cursor del mouse para
ciertas regiones de la pantalla, por lo que esperar cualquier movimiento es mejor en el
caso general que esperar un objetivo específico.
- clearmodifiers
Ver CLEARMODIFIERS
clic [opciones] .
Envíe un clic, es decir, un mousedown seguido de un mouseup para el botón dado con un
breve retraso entre los dos (actualmente 12 ms).
Los botones generalmente se asignan de esta manera: el mouse izquierdo es 1, el medio es 2, el derecho es 3, la rueda hacia arriba es
4, rueda hacia abajo es 5.
- clearmodifiers
Borre los modificadores antes de hacer clic. Consulte CLEARMODIFIERS a continuación.
--repetir REPETIR
Especifique cuántas veces hacer clic. El valor predeterminado es 1. Para hacer doble clic, use '--repeat
2'
--demora MILISEGUNDOS
Especifique cuánto tiempo, en milisegundos, debe retrasarse entre los clics. Esta opción no es
usado si el --repetir la bandera se establece en 1 (predeterminado).
--ventana VENTANA
Especifique una ventana a la que enviar un clic. Consulte "ENVIAR NOTAS" a continuación para conocer las advertencias. Usos
la posición actual del mouse al generar el evento.
El valor predeterminado, si no se proporciona una ventana, depende de la pila de ventanas. Si la ventana
La pila está vacía en la ventana actual se escribe usando XTEST. De lo contrario, el valor predeterminado
es "% 1" (consulte "PILA DE VENTANAS").
ratón hacia abajo [opciones] .
Igual que clic, excepto que solo se envía un mouse hacia abajo.
ratón arriba [opciones] .
Igual que clic, excepto que solo se envía un mouse hacia arriba.
ubicación [--cascarón]
Muestra la identificación de x, y, pantalla y ventana del cursor del mouse. Los números de pantalla serán
distinto de cero si tiene varios monitores y no utiliza Xinerama.
--cáscara
Esto hace que los datos del shell de salida de getmouselocation puedan evaluar. Ejemplo:
% xdotool obtener la ubicación del ratón --shell
X = 880
Y = 443
PANTALLA = 0
VENTANA = 16777250
% eval $ (xdotool getmouselocation --shell)
% echo $ X, $ Y
714,324
comportarse_pantalla_borde [opciones] donde comando ...
Vincular una acción a eventos cuando el mouse golpea el borde o la esquina de la pantalla.
Las opciones son:
--demora MILISEGUNDOS
Retraso en milisegundos antes de ejecutar el comando. Esto le permite requerir un
un borde o una esquina determinada para que se mantenga durante un período breve antes de que se ejecute el comando.
Si abandona el borde o la esquina antes de que expire la demora, el tiempo se reiniciará.
--quiescencia MILISEGUNDOS
Retraso en milisegundos antes de que se ejecute el siguiente comando. Esto ayuda a prevenir
ejecutar accidentalmente su comando más veces; especialmente útil si tienes un
muy corto --delay (como el valor predeterminado de 0).
Cronología del evento
* El mouse golpea un borde o una esquina.
* Si la demora es distinta de cero, el mouse debe permanecer en este borde o esquina hasta que expire el tiempo de demora.
* Si todavía está en el borde / esquina, dispare.
* Si el modo inactivo es distinto de cero, entonces hay un período de enfriamiento en el que el siguiente
el disparador no puede ocurrir
Los valores válidos de 'donde' son:
left
arriba a la izquierda
parte superior
superior derecha
un Derecho
abajo a la izquierda
fondo
abajo a la derecha
Ejemplos:
# Active google-chrome cuando mueva el mouse a la esquina inferior izquierda:
xdotool se comporta_pantalla_borde abajo a la izquierda \
búsqueda --clase google-chrome windowactivate
# Vaya al siguiente espacio de trabajo (derecha). Conocido por trabajar en GNOME (metacity y compiz)
xdotool behave_screen_edge --delay 500 tecla inferior derecha XF86Forward
# Active Firefox y haga una búsqueda web en una nueva pestaña para el texto en su portapapeles
xdotool se comporta_pantalla_borde --delay 1000 arriba a la izquierda \
búsqueda --classname Navigator \
windowactivate --sync key --delay 250 ctrl + t ctrl + k ctrl + v Return
VENTANA COMANDOS
Buscar [opciones] patrón
Busque ventanas con títulos, nombres o clases con un patrón de expresión regular.
La salida es una lista delimitada por líneas de identificadores de ventanas X. Si está utilizando "COMMAND
ENCADENAMIENTO ", el comando de búsqueda solo escribirá los ID de ventana en la salida estándar si es el último
(o solo) mando en la cadena; de lo contrario, está en silencio.
El resultado se guarda en la pila de ventanas para futuros comandos encadenados. Ver "VENTANA
STACK "y" COMMAND CHAINING "para más detalles.
Las opciones predeterminadas son "--name --class --classname" (a menos que especifique una o
más de --name --class o --classname).
Las opciones disponibles son:
--clase
Coincidir con la clase de ventana.
--nombre de la clase
Coincidir con el nombre de clase de la ventana.
--máxima profundidad N
Establecer la profundidad de búsqueda recursiva / secundaria. El valor predeterminado es -1, que significa infinito. 0 significa que no
profundidad, solo se buscarán las ventanas raíz. Si solo desea ventanas de nivel superior, configure
maxdepth de 1 (o 2, dependiendo de cómo su administrador de ventanas haga las decoraciones).
--nombre
Coincidir con el nombre de la ventana. Esta es la misma cadena que se muestra en el
barra de título de la ventana.
--sólo visible
Mostrar solo ventanas visibles en los resultados. Esto significa aquellos con estado de mapa
EsVisible.
--pid PID
Coincidir con las ventanas que pertenecen a un ID de proceso específico. Es posible que esto no funcione para algunos X
aplicaciones que no establecen estos metadatos en sus ventanas.
--pantalla N
Seleccione ventanas solo en una pantalla específica. El valor predeterminado es buscar en todas las pantallas. Solamente
significativo si tiene varias pantallas y no está utilizando Xinerama.
--escritorio N
Solo haga coincidir las ventanas de un escritorio determinado. 'N' es un número. El valor predeterminado es buscar
todos los escritorios.
--límite N
Deje de buscar después de encontrar N ventanas coincidentes. Especificar un límite ayudará
Acelera tu búsqueda si solo quieres unos pocos resultados.
El valor predeterminado es sin límite de búsqueda (que es equivalente a '--limit 0')
--título
OBSOLETO. Ver --nombre.
--todas
Exija que se cumplan todas las condiciones. Por ejemplo:
xdotool búsqueda --todos --pid 1424 --nombre "Hola mundo"
Esto solo coincidirá con las ventanas que tengan "Hello World" como nombre y sean propiedad de
pid 1424.
--alguna
Haga coincidir las ventanas que coincidan con cualquier condición (lógicamente, 'o'). Esto está predeterminado.
Por ejemplo:
xdotool search --any --pid 1424 --name "Hello World"
Esto coincidirá con cualquier ventana propiedad de pid 1424 o windows con el nombre "Hello World"
--sincronizar
Bloquear hasta que haya resultados. Esto es útil cuando está iniciando un
la aplicación quiere esperar hasta que la ventana de la aplicación sea visible. Para
ejemplo:
Google Chrome &
xdotool búsqueda --sync --onlyvisible --clase "google-chrome"
seleccionar ventana
Obtenga la identificación de la ventana (para un cliente) haciendo clic en ella. Útil para tener consultas de scripts
ustedes los humanos por qué ventana actuar. Por ejemplo, matar una ventana haciendo clic en ella:
xdotool seleccionar ventana windowkill
comportarse ventana DE ACTUAR! comando ...
Vincular una acción a un evento en una ventana. Esto le permite ejecutar comandos xdotool adicionales
siempre que ocurra un evento coincidente.
El comando que se ejecuta como resultado del comportamiento se ejecuta con% 1 como la ventana que se
actuar en consecuencia. Los ejemplos siguen después de la lista de eventos.
Los siguientes son eventos válidos:
entrar con el mouse
Se dispara cuando el mouse entra en una ventana. Esto es similar a los eventos de 'mouse over' en
javascript, si eso ayuda.
ratón-dejar
Se dispara cuando el mouse sale de una ventana. Esto es lo contrario de 'mouse-enter'
click del raton
Se dispara cuando se hace clic con el mouse. Específicamente, cuando se suelta el botón del mouse.
enfocarte
Se dispara cuando la ventana recibe el foco de entrada.
mancha
Se dispara cuando la ventana pierde el foco.
Ejemplos:
# Imprima la ubicación del cursor cada vez que el mouse ingrese a un
# ventana:
xdotool search: solo visible. comportarse% @ mouse-enter getmouselocation
# Imprime el título de la ventana y el pid cada vez que un xterm se enfoca
xdotool búsqueda --clase xterm comporta% @ focus getwindowname getwindowpid
# Emular el enfoque-sigue-al-mouse
búsqueda xdotool. comportarse% @ mouse-enter windowfocus
obtener ventanapid [ventana]
Genere el PID que posee una ventana determinada. Esto requiere un esfuerzo por parte de la aplicación que posee
una ventana y puede que no funcione para todas las ventanas. Esto usa la propiedad _NET_WM_PID del
ventana. Consulte "CONSEJOS EXTENDIDOS DEL ADMINISTRADOR DE VENTANAS" a continuación para obtener más información.
Si no se proporciona ninguna ventana, el valor predeterminado es '% 1'. Si no hay ventanas en la pila, entonces esto
es un error. Consulte "PILA DE VENTANAS" para obtener más detalles.
Ejemplo: Encuentre el PID para todos los xterms:
xdotool búsqueda --clase xterm getwindowpid% @
obtenerwindownname [ventana]
Muestra el nombre de una ventana determinada, también conocida como título. Este es el texto que se muestra
en la barra de título de la ventana junto a su administrador de ventanas.
Si no se proporciona ninguna ventana, el valor predeterminado es '% 1'. Si no hay ventanas en la pila, entonces esto
es un error. Consulte "PILA DE VENTANAS" para obtener más detalles.
geometría de ventana [opciones] [ventana]
Genere la geometría (ubicación y posición) de una ventana. Los valores incluyen: x, y,
ancho, alto y número de pantalla.
--cáscara
Valores de salida adecuados para 'eval' en un shell.
obtener el enfoque de la ventana [-F]
Imprime la identificación de la ventana de la ventana actualmente enfocada. Guarda el resultado en la ventana.
apilar. Consulte "PILA DE VENTANAS" para obtener más detalles.
Si la ventana actual no tiene propiedad WM_CLASS, asumimos que no es un nivel superior normal
ventana y atravesar los padres hasta que encontremos una ventana con un conjunto WM_CLASS y
devuelve esa identificación de ventana.
Si realmente desea que la ventana esté enfocada actualmente y no le importa si tiene un
Configuración de WM_CLASS, luego use 'getwindowfocus -f'
tamaño de ventana [opciones] [ventana] ancho alto
Establezca el tamaño de la ventana de la ventana dada. Si no se proporciona ninguna ventana,% 1 es el predeterminado.
Consulte "PILA DE VENTANAS" y "ENCADENAMIENTO DE COMANDOS" para obtener más detalles.
Los porcentajes son válidos para ancho y alto. Son relativas a la geometría del
pantalla en la que se encuentra la ventana. Por ejemplo, para hacer que una ventana tenga el ancho completo de la pantalla,
pero media altura:
xdotool tamaño de ventana I 100% 50%
Los porcentajes son válidos con --usehints y aún significan el ancho de píxel en relación con el
tamaño de pantalla.
Las opciones disponibles son:
- sugerencias
Utilice sugerencias de tamaño de ventana (cuando estén disponibles) para establecer el ancho y el alto. Esto es útil
en terminales para configurar el tamaño en función de la fila / columna de texto en lugar de píxeles.
--sincronizar
Después de enviar la solicitud de tamaño de la ventana, espere hasta que se cambie el tamaño de la ventana.
Si no es necesario ningún cambio, no esperaremos. Esto es útil para scripts que
dependen de las acciones que se completen antes de continuar.
Nota: Debido a que muchos administradores de ventanas pueden ignorar o alterar el tamaño original
solicitud, esperaremos hasta que el tamaño cambie de su tamaño original, no es necesario
al tamaño solicitado.
Ejemplo: para configurar un terminal para que tenga 80x24 caracteres, debe usar:
xdotool tamaño de ventana --usehints alguna_ventana 80 24
ventana movida [opciones] [ventana] x y
Mueva la ventana a la posición dada. Si no se proporciona ninguna ventana,% 1 es el predeterminado. Ver
"WINDOW STACK" y "COMMAND CHAINING" para más detalles.
Si la coordenada x dada es literalmente 'x', entonces la posición x actual de la ventana será
ser sin cambios. Lo mismo se aplica a 'y'.
Ejemplos:
xdotool getactivewindow windowmove 100 # Se mueve a 100
xdotool getactivewindow windowmove x 100 # Se mueve hacia x, 100
xdotool getactivewindow windowmove 100 y # Se mueve a 100, y
xdotool getactivewindow windowmove 100 y # Se mueve a 100, y
--sincronizar
Después de enviar la solicitud de movimiento de ventana, espere hasta que la ventana se mueva realmente. Si
no es necesario ningún movimiento, no esperaremos. Esto es útil para scripts que dependen
sobre las acciones que se están completando antes de continuar.
--relativo
Realice un movimiento relativo a la posición actual de la ventana.
ventana de enfoque [opciones] [ventana]
Enfoca una ventana. Si no se proporciona ninguna ventana,% 1 es el predeterminado. Consulte "PILA DE VENTANAS" y
"COMMAND CHAINING" para más detalles.
Utiliza XSetInputFocus que puede ser ignorado por algunos programas o administradores de ventanas.
--sincronizar
Después de enviar la solicitud de enfoque de ventana, espere hasta que la ventana esté realmente enfocada.
Esto es útil para los scripts que dependen de las acciones que se completen antes de mover
en.
mapa de ventana [opciones] [ventana]
Mapear una ventana. En terminología X11, mapear una ventana significa hacerla visible en el
pantalla. Si no se proporciona ninguna ventana,% 1 es el predeterminado. Consulte "PILA DE VENTANAS" y "COMANDO
ENCADENAMIENTO "para más detalles.
--sincronizar
Después de solicitar el mapa de la ventana, espere hasta que la ventana esté realmente mapeada
(visible). Esto es útil para los scripts que dependen de las acciones que se completen.
antes de seguir adelante.
ventana minimizada [opciones] [ventana]
Minimiza una ventana. En la terminología de X11, esto se llama 'iconificar'. Si no hay ventana
dado,% 1 es el predeterminado. Consulte "PILA DE VENTANAS" y "ENCADENAMIENTO DE COMANDOS" para obtener más detalles.
--sincronizar
Después de solicitar la minimización de la ventana, espere hasta que la ventana se minimice realmente.
Esto es útil para los scripts que dependen de las acciones que se completen antes de mover
en.
alzar la ventana [window_id =% 1]
Levante la ventana a la parte superior de la pila. Es posible que esto no funcione en todos los administradores de ventanas. Si
no se proporciona ninguna ventana,% 1 es el predeterminado. Consulte "PILA DE VENTANAS" y "ENCADENAMIENTO DE COMANDOS" para
más detalles.
ventana transparente [ventana_origen] ventana_destino
Repare una ventana. Esto mueve el ventana_origen ser una ventana infantil de
ventana_destino. Si no se proporciona ninguna fuente,% 1 es el predeterminado. Ventana "PILA DE VENTANAS"
las referencias (como% 1) son válidas para ambos ventana_origen y ventana_destino See
"WINDOW STACK" y "COMMAND CHAINING" para más detalles.
ventana cerrada [ventana]
Cierra una ventana. Esta acción destruirá la ventana, pero no intentará matar al
el cliente lo controla. Si no se proporciona ninguna ventana,% 1 es el predeterminado. Consulte "PILA DE VENTANAS"
y "COMMAND CHAINING" para más detalles.
matanza de ventana [ventana]
Mata una ventana. Esta acción destruirá la ventana y matará al cliente que la controla.
Si no se proporciona ninguna ventana,% 1 es el predeterminado. Consulte PILA DE VENTANAS y "ENCADENAMIENTO DE COMANDOS" para
más detalles.
ventana sin mapa [opciones] [window_id =% 1]
Desmapear una ventana, haciendo que ya no aparezca en su pantalla. Si no se da ninguna ventana,% 1
es el predeterminado. Consulte "PILA DE VENTANAS" y "ENCADENAMIENTO DE COMANDOS" para obtener más detalles.
--sincronizar
Después de solicitar la desasignación de la ventana, espere hasta que la ventana se desmapee realmente
(oculto). Esto es útil para scripts que dependen de acciones que se completen antes
hacia adelante.
establecer_ventana [opciones] [windowid =% 1]
Establecer propiedades sobre una ventana. Si no se proporciona ninguna ventana,% 1 es el predeterminado. Ver "VENTANA
STACK "y" COMMAND CHAINING "para más detalles.
Opciones:
--nombre nuevo nombre
Establecer ventana WM_NAME (el título de la ventana, por lo general)
--nombre icónico nombrenuevoicono
Establecer ventana WM_ICON_NAME (el título de la ventana cuando se minimiza, generalmente)
--papel nuevo rol
Establecer ventana WM_WINDOW_ROLE
--nombre de la clase nuevonombredeclase
Establecer el nombre de la clase de ventana (no confundir con la clase de ventana)
--clase Nueva clase
Establecer la clase de ventana (no confundir con el nombre de la clase de ventana)
- overrideredirect propuesta de
Establezca el valor override_redirect de la ventana. Este valor es una pista para el administrador de ventanas.
para saber si debe ser administrado o no. Si el valor de redireccionamiento es 0, entonces el
El administrador de ventanas dibujará bordes y tratará esta ventana normalmente. Si el valor es
1, el administrador de ventanas ignorará esta ventana.
Si cambia este valor, es posible que su administrador de ventanas no note el cambio hasta que
la ventana se asigna de nuevo, por lo que es posible que desee emitir 'windowunmap' y 'windowmap' para
haga que el administrador de ventanas tome nota.
ESCRITORIO Y VENTANA COMANDOS
Estos comandos siguen el estándar EWMH. Consulte la sección "CONSEJOS EXTENDIDOS DEL ADMINISTRADOR DE VENTANAS"
para obtener más información.
Activar ventana [opciones] [ventana]
Activa la ventana. Este comando es diferente de windowfocus: si la ventana está encendida
otro escritorio, cambiaremos a ese escritorio. También utiliza un método diferente para
subiendo la ventana. Recomiendo probar este comando antes de usar windowfocus, ya que
funcionará en más administradores de ventanas.
Si no se proporciona ninguna ventana,% 1 es el predeterminado. Consulte "PILA DE VENTANAS" y "ENCADENAMIENTO DE COMANDOS"
para obtener más información.
--sincronizar
Después de enviar la activación de la ventana, espere hasta que la ventana esté realmente activada.
Esto es útil para los scripts que dependen de las acciones que se completen antes de mover
en.
ventana activa
Muestra la ventana activa actual. Este comando suele ser más confiable que
getwindowfocus. El resultado se guarda en la pila de ventanas. Consulte "PILA DE VENTANAS" para obtener más información.
Detalles.
set_num_escritorios número
Cambia la cantidad de escritorios o espacios de trabajo.
get_num_desktops
Muestra el número actual de escritorios.
get_desktop_viewport [--cascarón]
Informar la posición de la ventana gráfica actual. Si se da --shell, la salida es amigable para
evaluación de shell
A veces se utilizan ventanas gráficas en lugar de "escritorios virtuales" en algunos administradores de ventanas. A
viewport es simplemente una vista en un área de escritorio muy grande.
set_desktop_viewport x y
Mueva la ventana gráfica a la posición indicada. No se obedecerán todas las solicitudes, algunas
Los encargados de las ventanas solo obedecen las solicitudes que se alinean con los límites del espacio de trabajo, como el
tamaño de pantalla.
Por ejemplo, si su pantalla es de 1280x800, puede pasar al segundo espacio de trabajo haciendo:
xdotool set_desktop_viewport 1280 0
set_desktop [opciones] escritorio_number
Cambie la vista actual al escritorio especificado.
--relativo
Utilice movimientos relativos en lugar de absolutos. Esto le permite moverse en relación con el
escritorio actual.
obtener_escritorio
Muestra el escritorio actual a la vista.
establecer_escritorio_para_ventana [ventana] escritorio_number
Mueva una ventana a un escritorio diferente. Si no se proporciona ninguna ventana,% 1 es el predeterminado. Ver
"WINDOW STACK" y "COMMAND CHAINING" para más detalles.
get_desktop_for_window [ventana]
Muestra el escritorio que contiene actualmente la ventana dada. Mover una ventana a otra
escritorio. Si no se proporciona ninguna ventana,% 1 es el predeterminado. Consulte PILA DE VENTANAS y "COMANDO
ENCADENAMIENTO "para más detalles.
OTRO COMANDOS
ejecutivo [opciones] comando [...]
Ejecuta un programa. Esto suele ser útil cuando se combina con behave_screen_edge para hacer
cosas como bloquear la pantalla.
Opciones:
--sincronizar
Bloquear hasta que salga el proceso hijo. A continuación, se pasa el estado de salida del proceso hijo
al proceso padre (xdotool) que lo copia.
Ejemplos:
# Bloquea la pantalla cuando el mouse se encuentra en la esquina superior derecha
xdotool se comporta_pantalla_borde --delay 1000 arriba a la derecha \
comando ejecutivo gnome-screensaver--lock
# Sustituya 'xscreensaver-command -lock' si usa ese programa.
# Lo siguiente no podrá mover el mouse porque usamos '--sync' y
# / bin / false sale distinto de cero:
ejecutivo de xdotool --sincronización / bin / false movimiento del ratón 0 0
# Sin embargo, esto tiene éxito, ya que no usamos --sync en el comando exec.
ejecutivo de xdotool / bin / false movimiento del ratón 0 0
sleep segundos
Duerme por un período específico. Las fracciones de segundos (como 1.3 o 0.4) son válidas aquí.
GUIONES
xdotool puede leer una lista de comandos a través de stdin o un archivo si lo desea. Un guión fallará
cuando falla algún comando.
A decir verdad, el modo 'script' no está completamente desarrollado y puede caer por debajo de sus expectativas. Si
tiene sugerencias, envíe la lista por correo electrónico o presente un error (ver CONTACTO).
Los scripts pueden usar argumentos posicionales (representados por $ 1, $ 2, ...) y entorno
variables (como $ HOME o $ WINDOWID). Citar argumentos debería funcionar como se esperaba.
Los scripts se procesan para la expansión de parámetros y variables de entorno y luego se ejecutan como si
había invocado xdotool con todo el script en una línea (usando COMMAND CHAINING).
· Leer comandos de un archivo:
xdotool nombre de archivo
· Leer comandos de stdin:
xdotool -
· Leer comandos de un archivo redirigido
xdotool - <miarchivo
También puede escribir scripts que solo ejecuten xdotool. Ejemplo:
#! / usr / local / bin / xdotool
buscar --onlyvisible --classname $ 1
tamaño de ventana% @ $ 2 $ 3
aumento de ventana% @
windowmove% 1 0 0
windowmove% 2 $ 2 0
windowmove% 3 0 $ 3
windowmove% 4 $ 2 $ 3
Este script tomará todas las ventanas que coincidan con la consulta de nombre de clase dada por arg1 ($ 1) y
los dimensiona / mueve a una cuadrícula de 2x2 con ventanas dimensionadas por el segundo y tercer parámetro.
Aquí hay un ejemplo de uso:
% ./myscript xterm 600
Ejecutarlo de esta manera tomará 4 xterms visibles, los elevará y los moverá a un mosaico de 2x2
cuadrícula con cada ventana de 600x400 píxeles de tamaño.
BORRARMODIFICADORES
Cualquier comando que tome el - clearmodifiers La bandera intentará borrar cualquier entrada activa
modificadores durante el comando y restaurarlos después.
Por ejemplo, si tuviera que ejecutar este comando:
tecla xdotool a
El resultado sería 'a' o 'A' dependiendo de si estaba presionando la tecla de mayúsculas o no
en tu teclado. A menudo, no es deseable tener ningún modificador activo, por lo que puede saber
xdotool para borrar los modificadores activos.
El orden de las operaciones si mantiene presionada la tecla Mayús mientras ejecuta 'xdotool key --clearmodifiers a'
es la siguiente:
1. Consulta de todos los modificadores activos (encuentra shift, en este caso)
2. Intente borrar el cambio enviando "tecla arriba" para la tecla de mayúsculas
3. Ejecuta 'xdotool key a' normal
4. Restaure la tecla de mayúsculas enviando 'tecla hacia abajo' para cambiar
El - clearmodifiers bandera puede eliminar actualmente lo siguiente:
· Cualquier tecla en su mapa de teclas activo que tenga un modificador asociado. (Ver
xmodmapa(1) salida 's' xmodmap -pm ')
· Botones del mouse (1, 2, 3, 4 y 5)
· Bloq Mayús
ENVIAR NOTAS
Si está intentando enviar una entrada clave a una ventana específica y no parece estar
funcionando, entonces es probable que su aplicación esté ignorando los eventos que genera xdotool.
Esto es bastante común.
El envío de pulsaciones de teclas a una ventana específica utiliza una API diferente a la de simplemente escribir en el
ventana activa. Si especifica 'xdotool type --window 12345 hello' xdotool generará
eventos clave y enviarlos directamente a la ventana 12345. Sin embargo, los servidores X11 establecerán un
bandera especial en todos los eventos generados de esta manera (ver XEvent.xany.send_event en X11's
manual). Muchos programas observan esta bandera y rechazan estos eventos.
Es importante tener en cuenta que para los eventos de tecla y mouse, solo usamos XSendEvent cuando un
se apunta a una ventana específica. De lo contrario, usamos XTEST.
Algunos programas pueden configurarse para aceptar eventos incluso si son generados por xdotool.
Busque la documentación de su aplicación para obtener ayuda.
Notas de aplicación específicas (de las pruebas del autor): * Firefox 3 parece ignorar todo
entrada cuando no tiene foco. * xterm se puede configurar mientras se ejecuta con
ctrl + clic izquierdo, 'Permitir SendEvents' * parece que gnome-terminal acepta la entrada generada por
predeterminada.
VENTANA APILAR
Ciertos comandos (búsqueda, getactivewindow, getwindowfocus) encontrarán ventanas por usted.
Estos resultados generalmente se imprimen en la salida estándar, pero también se guardan en la memoria para el futuro.
utilizar durante la vida útil del proceso xdotool. Consulte "ENCADENAMIENTO DE COMANDOS" para obtener más información.
El único soporte de modificaciones para la pila de ventanas es reemplazarlo. Es decir, dos de dos
búsquedas secuenciales, solo los resultados del último serán la pila de ventanas.
COMANDO ENCADENAMIENTO
xdotool admite la ejecución de varios comandos en una sola invocación. Generalmente, comenzarás
con un comando de búsqueda (ver "PILA DE VENTANAS") y luego realizar un conjunto de acciones en esos
resultados.
Para consultar la pila de ventanas, puede usar la notación especial "% N" donde N es un número o el
símbolo '@'. Si se da% N, la ventana N se seleccionará de la pila de ventanas.
Por lo general, solo querrá la primera ventana o todas las ventanas. Tenga en cuenta que el orden de
ventanas en la pila de ventanas corresponde al orden de apilamiento de ventanas, es decir, la más inferior
la ventana se informará primero (ver Árbol XQuery(3)). Así, el orden de las ventanas en el
Es posible que la pila de ventanas no sea coherente en todas las invocaciones.
La notación descrita anteriormente se utiliza como argumento de "ventana" para cualquier comando dado.
Por ejemplo, para cambiar el tamaño de todos los xterms a 80x24:
xdotool search --class xterm - windowsize --usehints% @ 80 24
Cambiar el tamaño de mover la ventana actual:
xdotool getactivewindow movimiento de ventana 0 0
En todos los casos, el argumento de ventana predeterminado, si se omite, será "% 1". Está
obviamente un error si omite el argumento de la ventana y la pila de ventanas está vacía. Si tu
intente usar la pila de ventanas y está vacía, también es un error.
Para activar la primera ventana de Firefox encontrada:
xdotool search --clase firefox windowactivate
Estos errores:
Activar ventana xdotool
xdotool windowactivate% 1
xdotool windowactivate% @
Cuando xdotool sale, la pila de ventanas actual se pierde.
Además, los comandos que modifican la "PILA DE VENTANAS" no imprimirán los resultados si
no son el último comando. Por ejemplo:
# Salida de la ventana activa:
% xdotool obtener ventana activa
20971533
# Muestra el pid de la ventana activa, pero no el id de la ventana activa:
% xdotool getactivewindowgetwindowpid
4686
EXTENDIDO VENTANA GENERAL Sugerencias
Se admiten las siguientes piezas del estándar EWMH:
_NET_SUPPORTED
Pregunta al administrador de ventanas qué es compatible
_NET_CURRENT_DESKTOP
Consultar y configurar el escritorio actual. El soporte para esto habilita estos comandos:
"set_desktop", "get_desktop".
_NET_WM_DESKTOP
Consultar y establecer en qué escritorio se encuentra una ventana. La compatibilidad con esto permite que estos
comandos: "set_desktop_for_window", "get_desktop_for_window".
_NET_ACTIVE_WINDOW
Le permite consultar y configurar la ventana activa pidiéndole al administrador de ventanas que la traiga
hacia adelante. El soporte para esto habilita estos comandos: "windowactivate", "getactivewindow".
_NET_WM_PID
Esta función depende de la aplicación, no del administrador de ventanas. Consultar el PID
poseer una ventana determinada. El soporte para esto habilita estos comandos: "getwindowpid".
SOPORTADO CARACTERÍSTICAS
xdotool (y libxdo) intentarán funcionar en todas las circunstancias. Sin embargo, puede haber
algunos casos en los que su servidor X o su administrador de ventanas no proporcionan la funcionalidad.
En estos casos, xdotool intentará detectar y decirle si una acción requiere una función.
actualmente no es compatible con su sistema.
Para conocer las características específicas del administrador de ventanas, consulte "SUGERENCIAS EXTENDIDAS PARA EL ADMINISTRADOR DE VENTANAS".
XPRUEBA
Si su servidor X no es compatible con XTEST, algunas funciones de escritura y movimiento del mouse
puede que no funcione. Específicamente, acciones de escritura y mouse que actúan en la "ventana actual"
(ventana 0 en libxdo) es poco probable que funcione.
En la mayoría de los casos, XTEST es una función que puede habilitar en su servidor X si no está habilitada
por defecto
Puede ver la lista de extensiones X compatibles escribiendo 'xdpyinfo' y mirando el
texto 'número de extensiones: ...'
Utilice xdotool en línea utilizando los servicios de onworks.net