J'ai essayé les combinaisons de touches suivantes pour tenter de le faire, sans effet:
- Commande + Retour ... + Espace
- Option + Retour ... + Espace
- Contrôle + Retour ... + Espace
- Commande + Maj + \ (la commande "Afficher tous les onglets" sur mon Macbook)
Cela m'amène à croire qu'il s'agit vraiment d'une erreur de la part d'Apple.
Kludge: créer une commande automatique pour simuler un clic de souris
J'ai utilisé le code que j'ai trouvé sur https://discussions.apple.com/thread/3708948 pour rassembler les AppleScripts suivants:
Tentative 1: n'a pas fonctionné
J'ai exécuté ce code dans un Applescript enveloppé dans un service Automator mappé sur "Commande + Maj + Option + Contrôle + Espace", en utilisant les chiffres que j'obtiens en appuyant sur "Commande + Contrôle + Maj + 4" pour obtenir l'adresse de la zone (600 pixels horizontaux à partir de la gauche, 300 pixels verticaux à partir du haut), et cela fonctionnerait dans Safari normal (appuyer sur la combinaison de touches ferait cliquer la souris à cette adresse pixel), mais cela n'avait aucun effet lorsque le le même raccourci clavier a été exécuté en mode "Afficher tous les onglets" dans Safari!
on run {input, parameters}
tell application "System Events"
tell process "Safari"
click at {600, 300}
end tell
end tell
return input
end run
Tentative n ° 2: a fonctionné , mais n'est pas réalisable
J'ai obtenu un raccourci clavier fonctionnant avec l'Applescript suivant enveloppé dans un service Automator, mais cela a pris 5,125 secondes pour terminer :(
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