2 votos

Necesito un atajo de teclado para añadir marcadores para varias pestañas en Safari

Había un post más antiguo sobre esta cuestión (enlace abajo) de hace unos años pero me pregunto si ese proceso ya no funciona debido a los marcadores de iCloud, Safari 12, el nuevo MacOS, etc.

Lo que me gustaría hacer es crear un atajo de teclado para "Añadir marcadores para estas (XX) pestañas..." en una ventana actual de Safari. La opción Preferencias del Sistema > Teclado > Atajos no funciona ya que la etiqueta del menú tiene que ser exacta y la variable del número de pestañas tiene que cambiar para coincidir con el número de pestañas cada vez. Hice una prueba con 5 allí y eso funciona para una instancia con 5 pestañas. No estoy seguro de si hay una variable que se puede escribir allí que sabe que tiene que cambiar.

Si no es a través de la configuración del sistema, suponiendo que tendría que ser algo así como un Apple script que funcionaría como estoy tratando de usar Stream Deck para establecer un botón para disparar el script.

Añadir marcadores para varias pestañas en Safari con un atajo de teclado

2voto

trejder Puntos 183

Bien, el AppleScript necesario para hacer clic en ese elemento del menú es bastante sencillo:

click menu item 8 of menu 1 of menu bar item "Bookmarks" of menu bar 1

Para llegar a este encantamiento en particular utilicé UI Browser.app (hay una prueba gratuita). En UI Browser.app elija su aplicación de destino, utilice la columna de búsqueda para encontrar el elemento de menú que le interesa, y luego utilice el menú desplegable de AppleScript para copiar el fragmento necesario en el portapapeles (o pulse Alt + Cmd + T ).

UI Browser hierarchy view

He hecho una pequeña edición del fragmento para hacer referencia sólo al Marcadores por su nombre.

El fragmento de AppleScript necesita un poco más de aderezo para ser útil:

activate application "Safari"
tell application "System Events"
    tell process "Safari"
        click menu item 8 of menu 1 of menu bar item "Bookmarks" of menu bar 1
    end tell
end tell

Las obras para ambos Safari y Avance tecnológico de Safari lo cual es agradable.

Ejecutando esto en, digamos, MacOS script Editor.app hará clic a distancia en el elemento de menú referenciado y mostrará el diálogo de conformación esperado.

Safari Add bookmarks dialog

Nota: se podría añadir AppleScript adicional para manipular y/o descartar el diálogo de confirmación; dejaré esos cambios como ejercicio para el lector.

Por último, tenemos que añadir una tecla de acceso directo para acceder al menú. Hay varias formas de hacerlo y la elección dependerá de las preferencias personales y/o del software que tengamos a mano:

  1. Alfred Flujo de trabajo con NSAppleScript Action + Hotkey Trigger
  2. Maestro del teclado : Acción de AppleScript + activación de teclas de acceso rápido
  3. Automator: Servicio + tecla de acceso directo a través de las Preferencias del Sistema de MacOS ( ver esta respuesta )
  4. FastScripts Lite (gratis para hasta 10 teclas de acceso directo): acceso directo

Nota: ya no es posible asignar una tecla de acceso directo a un elemento del menú script de MacOS, por lo que no he incluido ese método de llamada al script.

La última de las opciones anteriores, FastScripts Lite es el que viene gratis, y también el método más fácil, así que lo usaré en esta respuesta.

Introduzca el fragmento anterior de "activar...terminar de decir" en MacOS script Editor.app y guardar el script resultante en ~/Library/Scripts/Applications/Safari/Save Bookmarks for Current Window Tabs.scpt .

En FastScripts Lite.app tendrá un elemento de menú que es efectivamente un alias del elemento de menú "Añadir marcadores para estas X pestañas..." de Safari, y al que se puede asignar una tecla de acceso directo mediante FastScripts Lite.app > Preferencias > script Accesos directos.

FastScripts Lite script shortcuts preferences

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X