2010-05-06 26 views
5

Sto cercando di creare un piccolo AppleScript per creare e spostare alcune finestre del terminale sullo schermo. Il problema che sto incontrando è che in alcuni casi, sembra che OS X stia ignorando i limiti che sto impostando.I limiti della finestra impostati sulla finestra utilizzando AppleScript in OS X vengono ignorati

Utilizzando l'AppleScript Editor:

tell application "Terminal" to set the bounds of the first window to {0, 50, 600, 700} 
tell application "Terminal" to get the bounds of the first window 

mostra quanto segue nel registro eventi:

tell application "Terminal" 
    activate 
    set bounds of window 1 to {0, 50, 600, 700} 
    get bounds of window 1 
     --> {0, 22, 600, 672} 
end tell 
Result: 
{0, 22, 600, 672} 

visivamente ispezionare la finestra che si crea quando lo script viene eseguito mostra che risultato limiti sono quelli che sono usato dalla finestra.

Qualche idea?

Modifica: in esecuzione 10.6.3. Le mie dimensioni dello schermo sono 1280 X 800. Finder riporta i limiti della finestra del desktop in {0, 1280, 800}

+0

posso chiedere il motivo per cui si sta facendo questo? Se vuoi solo affiancare i tuoi terminali, c'è già uno script che puoi ottenere gratuitamente – mcgrailm

+0

Questo è fondamentalmente quello che sto facendo ... tuttavia, aggiungo anche alcune personalizzazioni aggiuntive come aprire un paio di schede e avviare comandi in ogni scheda . E ora che vedo questo comportamento sto cercando di capire perché questo sta accadendo. –

risposta

4

Ho riscontrato lo stesso problema oggi. Non sai quale sia la vera causa, ma la soluzione alternativa è aggiungere una "posizione di set" extra dopo i limiti impostati:

# from my window tiling script: 
set the bounds of the first window to {0, 22, (screenWidth/2), screenHeight} 
set position of the first window to {0, 22} 
0

stesso problema qui. dall'aggiornamento ai mavericks non posso impostare la larghezza della finestra più grande del default. La soluzione alternativa non funziona ma imposta separatamente posizione e dimensioni tramite i lavori:

imposta la posizione di ... su {..., ..} e quindi imposta la dimensione di .. su {.., ..}

funziona

3

a volte, quando dice un'applicazione per impostare i limiti non funziona, raccontando gli eventi di sistema per modificare le proprietà di posizione e di dimensione non:

tell application "System Events" to tell process "Live" 
    set position of window 1 to {0, 50} 
    set size of window 1 to {600, 650} 
end tell 
Problemi correlati