Esiste una scorciatoia o simile per inviare la finestra attualmente attiva sul retro dello schermo mantenendola comunque aperta (in modo che finisca "sotto" tutte le altre finestre aperte)?
Esiste una scorciatoia o simile per inviare la finestra attualmente attiva sul retro dello schermo mantenendola comunque aperta (in modo che finisca "sotto" tutte le altre finestre aperte)?
Risposte:
Risposta breve: No , Apple non fornisce un'API che ti consente di modificare un indice della finestra dell'applicazione tranne che portando una finestra in primo piano (indice 1). Non ci sono soluzioni eleganti . Ma:
Risposta lunga: Sì , è possibile utilizzare AppleScript per spostare efficacemente una finestra sul retro di una pila di finestre compatibili con AppleScript raccogliendo un elenco di finestre, quindi spostando rapidamente ciascuna ( tranne la prima) in primo piano, lasciando la finestra scelta dietro.
Ecco un esempio di AppleScript che invia la finestra del Finder in primo piano sul retro.
tell application "Finder"
set winList to every window whose visible is true
if not winList = {} then
repeat with oWin in (items 1 through -2 of reverse of winList)
set index of oWin to 1
end repeat
end if
end tell
Questo script si basa su una soluzione di JMichaelTX discussa sul forum KeyboardMaestro.
Il rimpasto è incredibilmente veloce, ma nell'Editor degli script è possibile controllare come funziona, lasciando "506" in basso e facendo apparire "502-505" in un modo che preservi il loro ordine:
get every window whose visible = true
--> {Finder window id 506, Finder window id 505, Finder window id 504, Finder window id 503, Finder window id 502}
set index of Finder window id 502 to 1
--> 1
set index of Finder window id 503 to 1
--> 1
set index of Finder window id 504 to 1
--> 1
set index of Finder window id 505 to 1
--> 1
Puoi associare questo AppleScript a un servizio o una scorciatoia da tastiera, sia a) inserendo lo script in un'azione Esegui AppleScript all'interno di un servizio Automator, sia b) utilizzando un launcher (Alfred, Keyboard Maestro ecc.). Per i dettagli sull'assegnazione della tastiera Applescript vedi: Come posso assegnare una scorciatoia da tastiera a un AppleScript che ho scritto?
Ciò può soddisfare le esigenze dei PO - non è chiaro dal post originale. Questa soluzione può anche essere estesa a più applicazioni compatibili con AppleScript. Tuttavia, non sono a conoscenza di una soluzione per farla funzionare in modo efficace con una combinazione di finestre gestibili da script e non, grazie al fatto che in AppleScript le System Events
finestre indirizzabili per applicazioni non gestibili da script non hanno un set index
verbo / proprietà. Esiste un'azione "AXRaise" per alcune finestre quando i dispositivi di assistenza / accessibilità sono attivi, ma anche questo non si applica a tutte le finestre. Esistono hack elaborati che comportano la camminata attraverso ogni applicazione attiva e mostrano / nascondono o minimizzano / ripristinano le finestre, ma sono un casino.
Discussioni correlate:
La tua domanda non è molto chiara, ma se quello che vuoi è una scorciatoia per scorrere tutte le finestre dell'app attualmente attiva, dovresti essere in grado di farlo con la Command~scorciatoia da tastiera.
La ~chiave si trova di solito alla sinistra della 1chiave.
Solo per chiarire, ciò che fa la Command~scorciatoia da tastiera è scorrere tutte le finestre dell'app corrente in cui ti trovi. Ad esempio, se stai usando MS Word e hai tre documenti aperti, scorrerà tra questi tre documenti.
Tuttavia, la Command~scorciatoia da tastiera non scorre tra le schede. Ad esempio, se Safari è aperto con tre finestre e ogni finestra ha cinque schede aperte, l'utilizzo di questo collegamento consente di scorrere le tre finestre, non le singole schede.
Un'altra opzione che può ottenere ciò che desideri è la CommandMscorciatoia da tastiera. Tuttavia, ciò minimizza la finestra attualmente attiva sul Dock, quindi sospetto che non sia quello che desideri.
Se ho frainteso totalmente la tua domanda, ti preghiamo di chiarire.