Ho provato le seguenti combinazioni di tasti nel tentativo di farlo, senza alcun risultato:
- Comando + Ritorna ... + Spazio
- Opzione + Ritorna ... + Spazio
- Control + Return ... + Space
- Comando + Maiusc + \ (Il comando "Mostra tutte le schede" sul mio Macbook)
Questo mi porta a credere che sia davvero una svista da parte di Apple.
Kludge: crea un comando automatore per simulare un clic del mouse
Ho usato il codice che ho trovato su https://discussions.apple.com/thread/3708948 per mettere insieme i seguenti script Apple:
Tentativo 1: non ha funzionato
Ho eseguito questo codice in un Applescript racchiuso in un servizio di automazione mappato su "Comando + Maiusc + Opzione + Controllo + Spazio", utilizzando i numeri che ottengo premendo "Comando + Controllo + Maiusc + 4" per ottenere l'indirizzo per l'area (600 pixel in orizzontale da sinistra, 300 pixel in verticale dall'alto) e funzionerebbe nel normale Safari (premendo la combinazione di tasti farebbe clic con il mouse su quell'indirizzo di pixel), ma non ha avuto effetto quando il lo stesso comando chiave è stato eseguito nella modalità "Mostra tutte le schede" in Safari!
on run {input, parameters}
tell application "System Events"
tell process "Safari"
click at {600, 300}
end tell
end tell
return input
end run
Tentativo n. 2: funzionato , ma non fattibile
Ho ricevuto un comando chiave che funziona con il seguente Applescript racchiuso in un servizio di automatore, ma ci sono voluti 5.125 secondi per completare :(
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