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:
He probado las siguientes combinaciones de teclas en un intento de hacer esto, sin ningún efecto:
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
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.
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)
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.
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).
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
tubedogg
riel de parches
steve moser