Métodos abreviados de teclado de Safari "Search Tabs"

12

La nueva función "Buscar 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 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 manera de filtrar las pestañas, ¡pero no hay forma de seleccionar una!

Captura de pantalla:

ingrese la descripción de la imagen aquí

SamBeran
fuente
Sé que esto es completamente inútil, pero puedo creer que lo harían. : P Especialmente dado que ... en general, algunos de los bordes de Yosemite son.
tubedogg
¿Algo nuevo sobre eso? Han pasado unos meses y este problema aún parece persistir :(
dvcrn
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.
Steve Moser

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 + 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

Utilicé 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 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 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 efecto cuando el ¡el mismo comando de teclado 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 n. ° 2: funcionó, pero no es factible

Obtuve un comando de teclado que funcionaba con el siguiente Applescript envuelto en un Servicio 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
Josh
fuente
Marcaré esto como la "mejor respuesta" por ahora, ya que es un tratamiento bastante exhaustivo sobre el tema y demuestra que es prácticamente imposible. Gracias.
SamBeran
Una solución poco complicada es usar Shortcat para seleccionar la pestaña.
Adam Lindberg
3

Creo que recibí tu respuesta. Pasé todo el día buscando esto. Utilizo una gran aplicación gratuita llamada BetterTouchTool (usando 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 necesite configurar. NOTA: vinculará la posición del mouse como un método abreviado de teclado de su elección cuando use 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 atajos para cada pantalla)

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

  • 2 Abra la aplicación, seleccione el teclado, agregue una aplicación para listar a los accesos directos que agregará (en este caso Safari), elija su acceso directo (estoy asignando "Opción + 1" en esta captura de pantalla), luego, dentro de la selección 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 posición del mouse". Lo siento, estoy muy cansada, son las 3 de la mañana 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 IU 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 se obtienen resultados más grandes, a veces incluso ocultando el primer resultado.

betoharres
fuente
Me he reasignado shift+command+\ a command+d. Entonces solo escribes un mensaje de command+d command+f texto aquí command+d.
Dzh
2

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 las ventanas de Terminal).

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

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

Con la ventaja añadida de modo que se puede usar con Mail, etc.

arin
fuente
0

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
LearnOPhile
fuente