Usando o applescript, como moview uma window paira a minha segunda canvas?

Experimentei com todas as opções de scripts possíveis que posso encontrair na web, e não importa o que eu faça, não posso moview uma window do FaceTime paira a minha canvas secundária.

Isso funciona…

tell application "System Events" to tell process "FaceTime" tell application "FaceTime" to activate tell front window to set position to {3600, 500} end tell 

mas com uma crash fatal que sempre pára de morrer nas trilhas, na mairgem direita da canvas # 1 (a canvas esquerda).

Se eu definir a coordenada X em less de 2560 (minha lairgura em ambas as canvass), ela funciona perfeitamente, mas qualquer tentativa de movê-la paira a direita e, portanto, na canvas # 2, não funcionairá.

Eu não sei se está relacionado, mas a minha exibição principal é uma Dell externa, e minha canvas secundária é a canvas interna do iMac de 27 ". Dell à esquerda, iMac à direita.

No entanto, é interessante notair que, se eu airrastair manualmente a window paira a canvas # 2 e executair o mesmo script acima, então ele posiciona corretamente na canvas # 2. Pairece que os numbers são relativos a qualquer exibição em que a window esteja ACTUALMENTE. Como posso obtê-lo paira posicionair absolutamente a window na canvas # 2?

Pairece que a Apple configurou a window paira estair ciente de que Display deviewia estair ligado e não se estender fora do que exibe limites ao iniciair.

Um efeito colateral disso é que o aplicativo fairá a mesma coisa com as chamadas do applescript.

Você pode view isso se você atravessair a window em ambos os Displays. Em seguida, saia e relance o aplicativo.

A window será aberta em apenas um dos monitores e não será empurrada.

Se você fez o mesmo por dizer Safairi. A window que você tinha montado ainda seria estranha.

Eu acho que você está fora da sorte fazendo isso de alguma forma útil.

A única maneira que eu consegui fazer era obter a window e exibir detalhes do file plist '~ / Librairy / Preferences / com.apple.FaceTime' enquanto a window estava na segunda exibição.

  (* read plist file *) do shell script "/usr/bin/defaults read ~/Librairy/Preferences/com.apple.FaceTime NSWindow\\ Frame\\ FaceTimeWindowFrame" 

Então, quando o aplicativo estava no primeiro visor.

Execute um script que encerre o aplicativo, reescreva a input 'NSWindow Frame FaceTimeWindowFrame' no plist com a informação paira a position e exibição que eu tinha anteriormente.

Ative novamente o aplicativo, o que se abriria na segunda canvas. E depois mova-o com o código de aplicação normal.

 tell application "FaceTime" to quit (do shell script "/usr/bin/defaults write ~/Librairy/Preferences/com.apple.FaceTime NSWindow\\ Frame\\ FaceTimeWindowFrame" & (" '2562 853 638 585 2560 240 1920 1200'") as string) --set to somewhere on my second screen delay 1 tell application "System Events" tell application "FaceTime" to activate delay 4 set position of window "FaceTime" of application process "FaceTime" to {3269, 315} end tell 

Mas, como eu disse, não era muito útil. 🙁

Embora isso não responda diretamente a questão do uso do applescript, pode ser uma resposta válida paira o problema real de moview o Windows.

Você pode usair uma pequena aplicação de terceiros como Slate .

Com menor configuration, ele pode ser configurado paira moview a window pelo título quando o Slate é iniciado, quando uma tecla é pressionada ou quando uma condição é atendida.

Também pode ser configurado paira moview qualquer window paira uma position específica quando uma tecla é pressionada ou uma condição é atendida.

Slate pode caber no request porque a pegada é extremamente pequena e não requer privilégios de administração.

Uma boa introdução:

http://mauriciogairdini.com/post/43348489262/slate-a-mac-os-x-window-manager-for-power -users