No OSX, posso iniciar, posicionar e dimensionar um aplicativo usando o applescript / automator?

2

Estou procurando automatizar o lançamento do meu espaço de trabalho. Eu uso vários aplicativos, cuidadosamente posicionados em dois monitores, e gostaria de poder lançar meus layouts preferidos com um único clique

Eu sei como lançar vários aplicativos com um script de automação, agora eu só preciso colocar os aplicativos onde eles pertencem na tela.

Muito obrigado.

    
por Mild Fuzz 14.03.2011 / 12:51

2 respostas

1

Isso, embora possível, pode ser um pouco complicado demais com um script. Aqui está um exemplo de script parcial que restaura o Firefox e o iTunes (adaptado do script encontrado aqui .)

property numFFWindows : 0
property FFPos : {}
property FFSize : {}
property iTunesPos : {}
property iTunesSize : {}

display dialog "Set Window Position or Save Window Position?" buttons {"Restore", "Save"} default button "Restore"
set theResult to result

tell application "System Events"
    if (button returned of theResult is "Restore") then
        -- Restore Settings
        if (numFFWindows > 0) then
            tell process "Firefox"
                repeat with i from 1 to numFFWindows
                    set position of window i to (item i of FFPos)
                    set size of window i to (item i of FFSize)
                end repeat
            end tell
        end if
        if (iTunesPos is not {0, 0}) then
            tell process "iTunes"
                set position of window 1 to iTunesPos
                set size of window 1 to iTunesSize
            end tell
        end if
    else
        -- Save Settings
        tell process "Firefox"
            set numFFWindows to count windows
            set FFPos to {}
            set FFSize to {}
            repeat with i from 1 to numFFWindows
                set end of FFPos to (position of window i)
                set end of FFSize to (size of window i)
            end repeat
        end tell
        tell process "iTunes"
            set iTunesPos to position of window 1
            set iTunesSize to size of window 1
        end tell
    end if
end tell

Eu sugiro que você veja este utilitário para mais flexibilidade:

link

    
por 14.03.2011 / 17:35
0

Aqui está outro exemplo usando o Applescript:

tell application "Finder"
    set {0, 0, dtw, dth} to bounds of window of desktop
end tell

tell application "Finder"
    reopen
    activate
    try
        set bounds of window 1 to {0, 22, dtw / 2, dth / 2}
    end try
end tell

tell application "Safari"
    reopen
    activate
    try
        set bounds of window 1 to {0, 22, dtw, dth}
    end try
end tell

tell application "Terminal"
    reopen
    activate
    try
        set position of window 1 to {0, 22}
        set size of window 1 to {dtw / 2, dth - 22}
    end try
end tell

tell application "TextEdit"
    reopen
    activate
    try
        set bounds of window 1 to {dtw / 2, 22, dtw, dth}
    end try
end tell

Trabalhar com vários monitores requer muita habilidade.

SizeUp tem ações separadas para mover uma janela para o próximo monitor e definir limites para janelas.

    
por 14.03.2011 / 20:49