Atajos de teclado de "Pestañas de búsqueda" de Safari

11

La nueva función "Buscar pestañas" de Safari 8 es bastante buena. 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 agradable 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 agregaría una buena manera de filtrar las pestañas, ¡pero no hay forma de seleccionar una!

Captura de pantalla:

    
pregunta SamBeran 07.11.2014 - 23:05

5 respuestas

3

He intentado 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 + Shift + \ (el comando "Mostrar todas las pestañas" en mi Macbook)

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

Haga clic en: Crear un comando de Automator para simular un clic del ratón

Usé el código que encontré en enlace para armar los siguientes AppleScripts:

Intento 1: no funcionó Ejecuté este código en un código Apple incluido en un Servicio de Automatización 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 horizontal desde la izquierda, 300 píxeles vertical desde la parte superior), y funcionaría en Safari normal (al presionar la combinación de teclas haría que el mouse haga clic en esa dirección de píxel), pero no tuvo efecto cuando se ejecutó el mismo comando de tecla 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 nº 2: funcionó, pero no es factible

Obtuve un comando de teclado que funciona con el siguiente código de Apple envuelto en un servicio de Automator, pero tomó 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
    
respondido por el Josh 02.12.2014 - 05:06
3

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

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

  • 1 Descargue la aplicación enlace

  • 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 menú de selección de Trigger, seleccione " Mover el mouse a la posición " en "Otras acciones de Mouser". Marqué la opción incorrecta en la captura de pantalla, es la opción anterior. NO es "Guardar la posición del ratón". Lo siento, estoy demasiado cansado, son las 3 am y tengo que trabajar mañana

  • 3Elijadóndedeseaquevayaelcursor(laposiciónenelcuadrodeentradaverificaráelprimerresultadocuandolainterfazdeusuariomuestre~3resultados)

  • 4 Agregue un evento siguiente: Un evento de clic izquierdo. ¡Y eso es!

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 se obtienen resultados más grandes, a veces incluso ocultando el primer resultado.

    
respondido por el betoharres 17.06.2015 - 07:56
2

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

enlace

Aparece un cuadro de diálogo de búsqueda, usted ingresa su búsqueda e inmediatamente activa una única pestaña coincidente, o le brinda un cuadro de diálogo para seleccionar de una lista de pestañas coincidentes. Trae la ventana al frente y hace que esta sea la pestaña activa en la ventana.

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

    
respondido por el Thomas A. Fine 07.07.2015 - 19:26
0

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

Con la bonificación adicional, que puede usarse con Mail, etc.

    
respondido por el arin 23.03.2017 - 23:00
0

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

¿Cómo asignar un método abreviado 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
    
respondido por el LearnOPhile 05.04.2018 - 15:13

Lea otras preguntas en las etiquetas