A causa di uno script pulito autodidatta troppo entusiasta sul mio Mac, ho riscontrato un problema molto specifico: tutte le mie applicazioni si rifiutano di aprire la seconda finestra, ad es. 'salva file', 'apri file', 'export file' windows. In alcune applicazioni le finestre 'save file' si aprono, ma quando provo a cambiare la directory in cui salvare il file, la finestra scomparirà di nuovo e non tornerà più indietro a meno che non riavvii OSX.
Ho cercato di capire se c'è qualche specifico processo di sistema che è responsabile dell'apertura / visualizzazione di questo tipo di finestre, ma non sono ancora riuscito a trovarne uno.
Tuttavia ho trovato questo codice python su GitHub e mi ha aiutato a vedere che le finestre di cui parlo sono effettivamente ancora aperte, ma semplicemente non vengono visualizzate.
Prenderò Safari come esempio. Quando eseguo Safari, lo script mostra il seguente output:
PID WID x,y,w,h [Title] Subtitle
---------------------------------------------------------------------
502 110 {385,104,160,18 } [Safari]
502 97 {426,57,590,96 } [Safari]
502 96 {1,23,1439,851 } [Safari] How to force window size via command line by windowid? - Ask Different
502 95 {0,0,1440,22 } [Safari]
502 94 {0,0,1440,22 } [Safari]
Ora, quando premo (in Safari) Archive --> Save as...
non sembra che accada nulla. Ma quando eseguo nuovamente lo script menzionato, l'output si legge come segue:
PID WID x,y,w,h } [Title] Subtitle
-------------------------------------------------------------
502 169 {104,22,216,341 } [Safari] Archive
502 168 {45,22,188,239 } [Safari]
502 110 {254,237,86,18 } [Safari]
502 97 {426,57,590,96 } [Safari]
502 96 {1,23,1439,851 } [Safari] How to force window size via command line by windowid? - Ask Different
502 95 {0,0,1440,22 } [Safari]
502 94 {0,0,1440,22 } [Safari]
Sto assumendo che questa linea:
502 169 {104,22,216,341 } [Safari] Archive
Indica che la finestra "Salva file" è stata effettivamente attivata. Era stato etichettato come windowID 169
e le sue dimensioni (x, y, w, h) sono 104,22,216,341
.
Qualcuno potrebbe dirmi:
Quali sono le solite 'quote visibili' (x, y, w, h) per le finestre OSX e come posso forzare quei valori a cambiare a un determinato input tramite la riga di comando una volta che conosco il windowID?
Grazie mille!
EDIT: appena scoperto su qui che è possibile impostare i limiti di una finestra tramite applescript / osascript, quindi mi sto avvicinando.
Tuttavia, in relazione al mio esempio Safari, questo funziona solo se posso dire a Safari di impostare i limiti della prima, seconda, ecc. Come mostra l'output sopra menzionato, il mio Safari ha almeno 5 finestre differenti (o almeno ha richiesto 5 windowID). Ma in esecuzione:
osascript -e 'tell application "Safari" to properties of every window'
ha rivelato che Safari ne indicizzava solo due:
document:document MacScripter / Call application by ID instead of by Name, closeable:true, zoomed:true, class:window, index:1, visible:true, name:MacScripter / Call application by ID instead of by Name, modal:false, miniaturizable:true, titled:true, id:1045, miniaturized:false, floating:false, resizable:true, bounds:0, 23, 1440, 875, current tab:tab 2 of window id 1045, zoomable:true, document:missing value, closeable:false, zoomed:true, class:window, index:2, visible:false, name:, modal:false, miniaturizable:false, titled:false, id:1057, miniaturized:false, floating:false, resizable:false, bounds:425, 57, 1015, 104, zoomable:false
Quindi non sono ancora in grado di impostare la visibilità e la dimensione della finestra "Archivio".