J'ai essayé les combinaisons de touches suivantes pour tenter de le faire, sans résultat :
- Commande+Retour ...+Espace
- Option+Retour ...+Espace
- Contrôle+Retour ...+Espace
- Commande+Shift+\ (la commande "Afficher tous les onglets" sur mon Macbook)
Cela me pousse à croire qu'il s'agit vraiment d'un oubli de la part d'Apple.
Kludge : Créer une commande Automator pour simuler un clic de souris
J'ai utilisé un code que j'ai trouvé à https://discussions.apple.com/thread/3708948 pour assembler les AppleScripts suivants :
Tentative 1 : N'a pas fonctionné J'ai exécuté ce code dans un Applescript enveloppé dans un service Automator mappé à "Command+Shift+Option+Control+Space", en utilisant les chiffres que j'obtiens en appuyant sur "Command+Control+Shift+4" pour obtenir l'adresse de la zone (600 pixels horizontalement à partir de la gauche, 300 pixels verticalement à partir du haut), et cela fonctionnait dans Safari normal (en appuyant sur la combinaison de touches, la souris cliquait à cette adresse de pixel), mais cela n'avait aucun effet lorsque la même commande était exécutée 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 : Fonctionne, mais n'est pas réalisable
J'ai réussi à faire fonctionner une commande clé avec l'Applescript suivant enveloppé dans un service Automator, mais il a fallu 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