Respuesta corta: No Apple no proporciona una API que permita alterar el índice de una ventana de la aplicación, excepto trayendo una ventana al frente (índice 1). No hay soluciones elegantes . Pero:
Respuesta larga: Sí Puede utilizar AppleScript para efectivamente mover una ventana a la parte de atrás de una pila de ventanas aptas para AppleScript recopilando una lista de ventanas y desplazando rápidamente cada una de ellas ( excepto la más delantera) a la parte delantera, dejando la ventana elegida en la parte trasera.
Este es un ejemplo de un AppleScript que envía la ventana del Finder más cercana al fondo.
tell application "Finder"
set winList to every window whose visible is true
if not winList = {} then
repeat with oWin in (items 1 through -2 of reverse of winList)
set index of oWin to 1
end repeat
end if
end tell
Este script se basa en un solución por JMichaelTX discutido en el foro de KeyboardMaestro.
El reordenamiento es increíblemente rápido, pero en el Editor script se puede inspeccionar cómo funciona, dejando "506" en la parte inferior y haciendo aparecer "502-505" de forma que se conserve su orden:
get every window whose visible = true
--> {Finder window id 506, Finder window id 505, Finder window id 504, Finder window id 503, Finder window id 502}
set index of Finder window id 502 to 1
--> 1
set index of Finder window id 503 to 1
--> 1
set index of Finder window id 504 to 1
--> 1
set index of Finder window id 505 to 1
--> 1
Puede asignar este AppleScript a un servicio o a un atajo de teclado, ya sea a) poniendo el script en una acción de Ejecutar AppleScript dentro de un servicio de Automator, o b) utilizando un lanzador (Alfred, Keyboard Maestro, etc.). Para más detalles sobre la asignación de teclado de Applescript, consulte: ¿Cómo puedo asignar un atajo de teclado a un AppleScript que he escrito?
Esto puede satisfacer las necesidades de la OP - no está claro en el post original. Esta solución también puede extenderse a múltiples aplicaciones aptas para AppleScript. Yo soy no Sin embargo, conozco una solución para que funcione eficazmente con una mezcla de Windows scriptable y no scriptable, debido a que en AppleScript, System Events
direccionables de Windows para las aplicaciones no secuenciables no tienen un set index
verbo/propiedad. Existe una acción "AXRaise" para algunos Windows cuando los dispositivos de asistencia / accesibilidad están activados, pero esto tampoco se aplica a todos los Windows. Existen elaborados hacks que implican recorrer cada aplicación activa y mostrar/ocultar o minimizar/restaurar Windows, pero son un lío.
Discusiones relacionadas:
2 votos
H enviará la aplicación actual (con todas sus ventanas) al fondo y la ocultará hasta que la traigas de nuevo al frente (desde el dock o mediante -TAB para volver a seleccionar la aplicación). En la mayoría de las aplicaciones, Shift--~ se desplazará a través de las ventanas de la aplicación actual, que es probablemente lo que más se acerca a lo que estás buscando.
0 votos
Lo sé, no es lo que quiero.
2 votos
Si quieres enviarlo hasta el fondo, ¿en qué ventana deberías centrarte? ¿La anterior ventana seleccionada?