Pregunta

¿Hay alguna manera de obtener un AppleScript para acceder a los elementos del menú que se presentan cuando se hace clic en un icono de la base?

En concreto, esto es lo que quiero hacer:

Yo uso Google Chrome como navegador web en MacOS X Leopard. Soy un adicto a la combinación de teclas, y utilizo QuickSilver para crear atajos de teclado para cualquier cosa que pueda. Una de las cosas más comunes que lo que hago es para abrir una nueva ventana del navegador web. Pero yo uso los espacios con frecuencia para dividir mis tareas que actualmente estoy trabajando, y cuando abra un navegador web o página web con un disparador QuickSilver, espacios cambia a la última espacio que utilicé Chrome en y se abre una nueva pestaña, que a menudo me distrae durante horas ya que me lleva a un espacio diferente y por lo tanto una tarea diferente. Puedo solucionar este problema mediante el botón derecho sobre el icono de Google Chrome y haciendo clic en la opción "ventana nueva", que abre una nueva ventana en el espacio actual. Pero en AppleScript, a hacer cualquier cosa con Google Chrome, lo primero que tiene que hacer es activarla, lo que me lleva de nuevo al problema original! ¿Puede alguien pensar en una solución a este problema, AppleScript o de otra manera? Se ha convertido en un problema grave. Antes, cuando he usado Firefox, he resuelto el problema cambiando un elemento de preferencia que dice "Siempre abierto enlaces pop-up en una ventana nueva" o algo por el estilo, que era una especie de enfoque de martillo de trineo, pero funcionó. Siempre puedo volver a Firefox, pero pensé que le pediría a mi pregunta aquí en primer lugar. Cualquier persona con alguna idea?

¿Fue útil?

Solución 2

Para cualquier persona que esté interesada, creo que tengo una solución de trabajo razonable para este problema, pero no se relacione con el botón derecho sobre iconos de base.

En primer lugar, usted tiene que desmarcar "Al cambiar a una aplicación, cambie a un espacio con las ventanas abiertas para la aplicación" en el panel de Espacios preferencia de Preferencias del Sistema. Entonces escribí el siguiente AppleScript:

tell application "Google Chrome" to activate

tell application "System Events"
    tell process "Google Chrome"
        try
            set var to get name of window 1
        on error
            set var to "no window exists!!!"
        end try
    end tell
end tell

if var is "no window exists!!!" then
    tell application "System Events"
        tell process "Google Chrome"
            click menu item "New Window" of menu "File" of menu bar 1
        end tell
    end tell
else
    tell application "System Events"
        tell process "Google Chrome"
            click menu item "New Tab" of menu "File" of menu bar 1
        end tell
    end tell
end if

lanzo este AppleScript usando chispa, lo que me permite asignar una tecla de acceso directo a la misma.

Es un poco lento, particularmente cuando el sistema está bajo una carga, pero por lo general no toma más de un segundo o así para funcionar. También se evita el problema que estaba teniendo con Firefox, donde iba a terminar con las ventanas abiertas al final del día decenas.

Otros consejos

No estoy seguro si usted todavía está interesado, pero ...

 tell application "Dock"
    activate
end tell
tell application "System Events"
    tell process "Dock"
        set frontmost to true
        activate
        tell list 1
            perform action "AXShowMenu" of UI element "Google Chrome"
            delay 1
            repeat 4 times -- count number of items to the one you want
                key code 126 -- up arrow
                -- key code 125 -- down arrow
            end repeat
            delay 1
            repeat 2 times
                key code 36 -- return key
            end repeat
        end tell
    end tell
end tell

El cromo versiones compiladas ahora contiene soporte de AppleScript, y esto debe hacerlo en Chrome después de poco tiempo. Esto significa que ahora se puede hacer:

tell application "Chromium"
    make new window
    activate
end tell

Si lo prefiere puede también recurrir a dicha opción oculta:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

También tiene la, para mí, el efecto positivo de que no se produce alrededor de los escritorios más cuando cambiar de aplicación. Basta con hacer Cmd + N con Chrome como la aplicación activa.

Por cierto se puede ir a los espacios directamente con Fn + 1, Fn + 2, etc., si lo configura en lugar de ^1, ^2 etc. Tienes que hacer los espacios antes de las combinaciones de teclas se pueden configurar en el teclado - > preferencias de abreviaturas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top