Domanda:
Finestra centrale sullo schermo
Kevin Sylvestre
2011-03-05 13:06:55 UTC
view on stackexchange narkive permalink

Sto creando alcune trasmissioni dello schermo e volevo centrare esattamente le mie finestre sullo schermo. Qualche buon modo per farlo su Mac? Ho trovato un esempio di Apple Script (e alcune schermate collegate) ma nessuno di questi supporta il centraggio verticale di "Terminale" (sebbene supportino il centraggio verticale di altre applicazioni).

possibile duplicato di [Quali opzioni di gestione delle finestre esistono per OS X?] (http://apple.stackexchange.com/questions/9659/what-window-management-options-exist-for-os-x)
Sei risposte:
#1
+3
sorens
2011-03-05 22:36:10 UTC
view on stackexchange narkive permalink

Mi piace usare SizeUp per gestire le finestre, una delle quali è un'opzione centrale sullo schermo. Buona fortuna.

#2
+2
Ciaocibai
2011-03-05 18:43:27 UTC
view on stackexchange narkive permalink

Non sono sicuro che anche questo possa fare quello che stai cercando, ma Divvy è anche un bel software per organizzare le finestre.

Ti suggerisco di guardare lo screencast sul loro sito web per vedere se fa quello che stai cercando, ma fondamentalmente ha una griglia dove puoi cambiare la dimensione e la posizione della finestra in primo piano.

Puoi anche modificare la griglia che mostra per avere un controllo più preciso sulla dimensione delle finestre con cui stai lavorando.

Spero che questo ti aiuti.

#3
+2
Tim Moore
2011-03-07 16:37:46 UTC
view on stackexchange narkive permalink

Kevin. Sono l'autore del post a cui ti sei collegato su incrementalism.net.

Il motivo per cui la finestra di Terminale si sposta in alto è solo un bug nel supporto AppleScript di Terminal.

Questo la versione esegue il centraggio verticale e aggira il bug del Terminale:

  dice all'applicazione "Finder" di impostare la dimensione dello schermo ai limiti della finestra del desktop impostare la larghezza dello schermo all'elemento 3 dello schermo Dimensioni dello schermo impostare l'altezza dell'elemento 4 dello schermoSizeend telltell application "System Events" imposta myFrontMost al nome del primo elemento di ¬ (processi il cui frontmost è true) end telltry tell application myFrontMost imposta windowSize ai limiti della finestra 1 imposta windowXl all'elemento 1 di windowSize imposta windowYt all'elemento 2 di windowSize imposta windowXr a elemento 3 di windowSize imposta windowYb sull'elemento 4 di windowSize imposta windowWidth su windowXr - windowXl imposta windowHeight su windowYb - windowYt se myFrontMost è "Terminal", imposta i limiti della finestra 1 su {¬ round ((screenWidth - windowWidth) / 2) arrotondamento come insegnato a scuola, ¬ round ((screenHeight + windowHeight) / 2) arrotondamento come insegnato a scuola, ¬ round ((screenWidth + windowWidth) / 2) arrotondamento come insegnato a scuola, ¬ round ((screenHeight + windowHeight) / 2 + windowHeight) rounding come insegnato a scuola} altrimenti imposta i limiti della finestra 1 su {¬ round ((screenWidth - windowWidth) / 2) arrotondamento come insegnato a scuola, ¬ round ((screenHeight - windowHeight) / 2) arrotondamento come insegnato a scuola, ¬ round ((screenWidth + windowWidth) / 2) arrotondamento come insegnato a scuola, ¬ round ((screenHeight + windowHeight) / 2) arrotondamento come insegnato a scuola} end if set the result ai limiti della finestra 1 end tellend try  

Spero che questo aiuti, se non hai già pagato per una delle altre opzioni. Ho anche aggiunto un commento con questa soluzione alternativa al post originale.

#4
+2
Lri
2011-03-07 17:26:54 UTC
view on stackexchange narkive permalink

Correzioni per:

  • Il bug con Terminal
  • Nomi di processi strani (firefox-bin)
  • Dimensioni della barra dei menu e del Dock
  • Supporto per Applescript disabilitato in Anteprima
  • Le finestre che sono quasi a larghezza / altezza complete verranno ridimensionate a larghezza / altezza completa

Osservazioni:

  • arrotondare come insegnato a scuola non è realmente necessario
    • il valore predefinito è arrotondamento al più vicino , che arrotonda 0,5 al più vicino pari intero (ad es. da 22,5 a 22)
  • Davvero, nomi di variabili mixedCase anche qui ?

Ancora , ci sono altre dozzine di cose che potrebbero andare storte. La parte Dock non è davvero necessaria se l'occultamento è sempre attivato. (Ma se ad esempio orientamento = bottom, potresti voler impostare dth su dth - 4.)

  - defaults write /Applications/Preview.app/Contents/Info NSAppleScriptEnabled -bool yestell app "Finder" per impostare {0, 0, dtw, dth} ai limiti della finestra del desktop da dtw0 a dtwset da dth0 a dthtell app "Eventi di sistema" per indicare alle preferenze del dock di impostare l'occultamento per nascondere automaticamente impostare il bordo del bordo dello schermo come stringend tellif nascondere quindi impostare docksize a 4else dì all'app "System Events" di dire al processo "Dock" imposta sz alla dimensione nell'elenco 1 se edge = "bottom" quindi imposta docksize all'elemento 2 di sz altrimenti imposta docksize all'elemento 1 di sz end if end tellend ifif edge = "bottom" quindi imposta dth su dth - docksizeelse se edge = "right" quindi imposta dtw su dtw - docksizeelse se edge = "left" quindi imposta dtw su dtw + docksizeend ifset a su (percorso dell'applicazione in primo piano come testo) prova a dire app a impostare b fino ai limiti della finestra 1 impostare w su (elemento 3 di b) - (elemento 1 di b) imposta h su (elemento 4 di b) - (elemento 2 di b) se w> dtw0 - 40 quindi imposta w su dtw se h> dth0 - 40 quindi imposta h su dth imposta l'elemento 1 di b su {dtw - w} / 2 imposta la voce 1 di b su (dtw - w) / 2 imposta la voce 2 di b su (dth - h + 22) / 2 imposta la voce 3 di b su (dtw + w) / 2
imposta l'elemento 4 di b su (dth + h + 22) / 2 end indica se l'app "Terminale" è in primo piano quindi dì all'app "Terminale" di impostare la posizione della finestra 1 su b altrimenti dì all'app a di impostare i limiti della finestra 1 su b end ifend prova  
#5
+1
Asmus
2011-03-05 14:11:32 UTC
view on stackexchange narkive permalink

Se desideri centrarli esattamente (quindi orizzontalmente e verticalmente), puoi utilizzare l'esempio fornito nei commenti sul sito a cui ti sei collegato e adattare la risposta pubblicata a questa domanda di stackoverflow.

Ho finito con questo:

  dì all'applicazione "Eventi di sistema" di dire all'applicazione "Finder" di impostare {posx, posy, screenWidth, screenHeight} ai limiti della finestra di desktopend telltell application "Terminal" per impostare {windowLeft, windowTop, windowRight, windowBottom} ai limiti della finestra 1set windowWidth to windowRight - windowLeftset windowHeight to windowBottom - windowTopset newBounds su {¬ ((screenWidth - windowWidth) / 2), ¬ ((screenHeight - windowHeight) / 2), ¬ ((screenWidth + windowWidth) / 2), ¬ ((screenHeight + windowHeight) / 2) ¬} imposta newPosition su {¬ ((screenWidth - windowWidth) / 2), ¬ ((screenHeight - windowHeight) / 2) ¬} dice all'applicazione "Terminal" di impostare i limiti della finestra 1 a newBoundstell application "Terminal" per se t posizione della finestra 1 su newPosition  

Tieni presente che questo centrerà finestra 1 , quindi se ti capita di usare strumenti come Visor, dovrai invece utilizzare window 2 .

Ho provato questo script ma per qualche motivo sta bloccando il mio terminale nella parte superiore dello schermo. Forse è perché sto usando il terminale trasparente o qualcosa del genere.
#6
+1
thyx
2011-03-05 16:22:40 UTC
view on stackexchange narkive permalink

Un'alternativa è MercuryMover. "Finestra centrale" è una delle scorciatoie incorporate.

Puoi spostare le finestre con scorciatoie, definire posizioni personalizzate e fare di più. Suggerimento: prova il file delle preferenze per definire numeri di pixel personalizzati diversi da 1, 10, 100.

È costoso con $ 20, ma paga nel tempo. Comunque, c'è una prova vecchia scuola ... MacUpdate: MercuryMover



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...