Métodos abreviados de teclado de las "pestañas de búsqueda" de Safari

La nueva característica de "Búsqueda de pestañas" de Safari 8 es bastante agradable. Cuando se activa "Mostrar todas las pestañas", puede escribir texto para filtrar las pestañas a la que desee. Sin embargo, una vez que tenga una sola pestaña visible, sería muy bueno poder activar esa pestaña. Esto permitiría la funcionalidad de tipo "foco" para las pestañas.

Sin embargo, no parece que haya un atajo de teclado para activar la pestaña una vez que la he buscado, ¡así que me veo obligado a hacer clic en la pestaña con el mouse! Esto parece un descuido, no puedo creer que Apple agregue una buena forma de filtrar las pestañas, ¡pero no hay forma de seleccionar una!

Captura de pantalla:

ingrese la descripción de la imagen aquí

Sé que esto es completamente inútil, pero puedo creer que lo harían. :P Especialmente teniendo en cuenta lo... ásperos que son algunos de los bordes de Yosemite en general.
¿Algo nuevo en eso? Han pasado algunos meses y este problema parece persistir :(
Esta vista "Mostrar todas las pestañas" con búsqueda ahora está disponible para todas las aplicaciones que usan pestañas nativas en High Sierra.

Respuestas (5)

He probado las siguientes combinaciones de teclas en un intento de hacer esto, sin ningún efecto:

  • Comando+Retorno ...+Espacio
  • Opción+Retorno ...+Espacio
  • Control+Retorno ...+Espacio
  • Comando+Mayús+\ (El comando "Mostrar todas las pestañas" en mi Macbook)

Esto me lleva a creer que realmente es un descuido por parte de Apple.

Kludge: cree un comando de Automator para simular un clic del mouse

Usé el código que encontré en https://discussions.apple.com/thread/3708948 para armar los siguientes AppleScripts:

Intento 1: No funcionó Ejecuté este código en un Applescript envuelto en un Servicio de Automator asignado a "Comando+Mayús+Opción+Control+Espacio", usando los números que obtengo al presionar "Comando+Control+Mayús+4" para obtener la dirección del área (600 píxeles horizontales desde la izquierda, 300 píxeles verticales desde la parte superior), y funcionaría en Safari normal (presionar la combinación de teclas haría que el mouse haga clic en esa dirección de píxeles), pero no tuvo ningún efecto cuando el ¡El mismo comando de tecla se ejecutó en el modo "Mostrar todas las pestañas" en Safari!

on run {input, parameters}
    tell application "System Events"
            tell process "Safari"
                click at {600, 300}
            end tell
        end tell

        return input
    end run

Intento #2: funcionó, pero no es factible

Obtuve un comando clave que funcionaba con el siguiente Applescript envuelto en un Servicio de Automator, pero tardó 5,125 segundos en completarse :(

    on run {input, parameters}

    set x to 600
    set y to 150

    do shell script "
/usr/bin/python <<END
import sys
import time
from Quartz.CoreGraphics import *
def mouseEvent(type, posx, posy):
          theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft)
          CGEventPost(kCGHIDEventTap, theEvent)
def mousemove(posx,posy):
          mouseEvent(kCGEventMouseMoved, posx,posy);
def mouseclick(posx,posy):
          mouseEvent(kCGEventLeftMouseDown, posx,posy);
          mouseEvent(kCGEventLeftMouseUp, posx,posy);
ourEvent = CGEventCreate(None);
currentpos=CGEventGetLocation(ourEvent);             # Save current mouse position
mouseclick(" & x & "," & y & ");
mousemove(int(currentpos.x),int(currentpos.y));      # Restore mouse position
END"
    return input
end run
Marcaré esto como "la mejor respuesta" por ahora, ya que es un tratamiento bastante completo sobre el tema y muestra que es prácticamente imposible. Gracias.
Una solución un poco torpe es usar Shortcat para seleccionar la pestaña.

Creo que tengo tu respuesta. Pasé todo el día buscando esto. Utilizo una excelente aplicación gratuita llamada BetterTouchTool (con OS X 10.10) para agregar gestos y accesos directos adicionales a todos los dispositivos de Apple, ¡y funciona instantáneamente! ¡Sin demora!

Haré capturas de pantalla con cada paso que necesites configurar. NOTA: vinculará la posición del mouse como un método abreviado de teclado de su elección cuando esté usando safari. Desventajas: no puede cambiar la posición de la ventana de safari, y la posición del mouse será diferente del monitor de su computadora portátil. Solución: Recomiendo mapear la posición del mouse usándolo en pantalla completa con la pantalla que más usa la mayoría de las veces (o simplemente mapear dos accesos directos para cada pantalla)

  • 1 Descarga la aplicación http://www.bettertouchtool.net

  • 2 Abra la aplicación, seleccione el teclado, agregue una aplicación a la lista de los accesos directos que agregará (en este caso, Safari), elija su acceso directo (estoy mapeando "Opción + 1" en esta captura de pantalla), luego, dentro del Disparador, seleccione menú, seleccione " Mover el mouse a la posición " en "Otras acciones del mouser". Marqué la opción incorrecta en la captura de pantalla, es la opción de arriba. NO es "Guardar posición del mouse". Lo siento, estoy demasiado cansada, son las 3 am y tengo que trabajar mañana. ingrese la descripción de la imagen aquí

  • 3 Elija dónde desea que vaya el cursor (la posición en el cuadro de entrada verificará el primer resultado cuando la interfaz de usuario muestre ~3 resultados)

ingrese la descripción de la imagen aquí

  • 4 Agregue un evento siguiente: Un evento de clic izquierdo. ¡Y eso es!ingrese la descripción de la imagen aquí

Haga lo mismo con una posición diferente del mouse para obtener el segundo, tercer resultado, pero tenga en cuenta que la interfaz de usuario cambiará si los resultados son más grandes, a veces incluso ocultando el primer resultado.

He reasignado shift+command+\ a command+d. Así que entonces solo envía un mensaje de command+d command+f texto aquí command+d.

He estado usando Applescript para hacer esto desde antes de que agregaran esta función:

http://hea-www.harvard.edu/~fine/OSX/safari-tabs.html

Aparece un cuadro de diálogo de búsqueda, ingresa su búsqueda e inmediatamente activa una sola pestaña coincidente, o le da un cuadro de diálogo para seleccionar de una lista de pestañas coincidentes. Trae la ventana al frente y la convierte en la pestaña activa de la ventana.

(Tengo un script similar para encontrar ventanas de Terminal).

Muy genial; Creo que intentaré esto. Si lo entiendo, parece que su secuencia de comandos también busca en todas las ventanas abiertas, en lugar de solo en la actual. ¿Es eso correcto? Esta es una característica que me gustaría que la búsqueda normal no tenga.

Llegué un poco tarde a la fiesta, pero creo que Shortcat realizará la funcionalidad necesaria.

Con la ventaja adicional de que se puede usar con Mail, etc.

Use Automator y pegue el AppleScript adjuntándolo a un atajo de teclado como se describe en:

¿Cómo asigno un atajo de teclado a un AppleScript que escribí?

set question to display dialog ("Find Safari tab:") default answer ""
set searchpat to text returned of question

tell application "Safari"
    set winlist to every window
    set winmatchlist to {}
    set tabmatchlist to {}
    set tabnamematchlist to {}
    repeat with win in winlist
        set ok to true
        try
            set tablist to every tab of win
        on error errmsg
            --display dialog name of win as string
            set ok to false
        end try
        if ok then
            repeat with t in tablist
                if searchpat is in (name of t as string) then
                    set end of winmatchlist to win
                    set end of tabmatchlist to t
                    set end of tabnamematchlist to (id of win as string) & "." & (index of t as string) & ".  " & (name of t as string)
                    --display dialog name of t as string
                else if searchpat is in (URL of t as string) then
                    set end of winmatchlist to win
                    set end of tabmatchlist to t
                    set end of tabnamematchlist to (id of win as string) & "." & (index of t as string) & ".  " & (name of t as string)
                    --display dialog name of t as string
                end if
            end repeat
        end if
    end repeat
    if (count of tabmatchlist) = 1 then
        --display dialog "one!"
        set w to item 1 of winmatchlist
        set t to item 1 of tabmatchlist
        set current tab of w to t
        set index of w to 1
    else if (count of tabmatchlist) = 0 then
        display dialog "No matches"
    else
        set whichtab to choose from list of tabnamematchlist with prompt "The following tabs match, please select one:"
        set AppleScript's text item delimiters to "."
        if whichtab is not equal to false then
            set tmp to text items of (whichtab as string)
            set w to (item 1 of tmp) as integer
            set t to (item 2 of tmp) as integer
            set current tab of window id w to tab t of window id w
            set index of window id w to 1
        end if
    end if
end tell