Como forçar o QuickTime a abrir em um segundo monitor?

4

Quando eu inicio um filme no QuickTime, eu gostaria que ele fosse sempre aberto no meu segundo monitor (e não no primário). Na verdade, eu estou abrindo o filme via AppleScript do iTunes, então uma solução applescript seria OK.

Costumava haver uma configuração de preferência no Quicktime que permitisse padronizá-lo para um determinado display, mas isso parece ter sido perdido com o QuickTime X.

    
por Bryan Schuetz 13.12.2009 / 22:05

4 respostas

3

OK, então eu fui em frente e capturei os limites da janela colocada no meio da minha segunda tela e apenas adicionei uma linha no meu AppleScript para empurrar a nova janela para lá toda vez.

tell application "iTunes"
    set sel to item 1 of selection
    set loc to (get location of sel)
end tell

tell application "QuickTime Player"
    open loc
    activate
    set bounds of front window to {2460, 256, 3299, 736}
    present front document
    play front document
end tell

Agora no iTunes eu posso selecionar o filme que quero, rodar o script, e o QuickTime irá abri-lo em tela cheia no segundo monitor e começar a reproduzi-lo. Ainda mais hackeado juntos do que eu gostaria, mas vai fazer por agora suponho.

    
por 14.12.2009 / 00:50
1

link contém código para enviar todas as janelas de um aplicativo para um segundo monitor. Você pode executar o código no Quicktime Player ou possivelmente extrair a lógica de localização do segundo monitor relevante e executá-la em uma única janela.

Código espelhado aqui, para a posteridade:

tell application "System Events"
    --  set visible of process "Untitled" to false -- don't use name extension
    --  delay 1
    set Name_App to item 1 of (get name of processes whose frontmost is true)
end tell

-- broken
--tell (do shell script "defaults read /Library/Preferences/com.apple.windowserver | grep -w Width") to set {monitor1_width, monitor2_width} to {word 3 as number, word 6 as number}
-- fixed by:
set {monitor1_width, monitor2_width} to {1280, 1024}

--tell (do shell script "defaults read /Library/Preferences/com.apple.windowserver | grep -w Height") to set {monitor1_height, monitor2_height} to {word 3 as number, word 6 as number}


tell application Name_App
    try
        set {x, y, xx, yy} to bounds of front window
        set The_Scriptable to true
    on error
        set The_result to my get_position(Name_App)
        if The_result is {} then return
        set {x, y} to The_result
        set The_Scriptable to false
    end try
    if The_Scriptable then
        if x <= monitor1_width and xx >= monitor1_width then -- the window is in the first monitor
            if xx > monitor2_width then set xx to monitor2_width
            set New_bounds to {monitor1_width + x, y, monitor1_width + xx, yy}
        else if x >= monitor1_width then -- the window is in the second monitor
            if xx - x > monitor1_width then
                set xx to monitor1_width
            else
                set xx to xx - x
            end if
            set New_bounds to {x - monitor1_width, y, xx, yy}
        else
            --the window is between the monitors
        end if
        set bounds of front window to New_bounds
    else
        if x <= monitor1_width then -- the window is in the first monitor
            set new_Position to {monitor1_width + x, y}

        else -- the window is in the second monitor
            set new_Position to {x - monitor1_width, y}
        end if
        tell application "System Events" to tell process Name_App to set position of front window to new_Position
    end if
    tell front window to "Zoom"

end tell

on get_position(This_App)
    try
        tell application "System Events" to tell process This_App
            return position of front window
        end tell
    on error
        return {}
    end try
end get_position
    
por 30.12.2009 / 04:18
0

Eu sei que quando eu costumava executar uma configuração de dois monitores, ele lembrava de coisas que eu tinha no segundo monitor, mesmo quando eu não tinha conectado. Se você arrastar a janela para essa exibição, poderá treiná-la para lembrar de colocá-la lá.

    
por 13.12.2009 / 23:51
0

Aparentemente, o QT X enviado com w / 10.6 não está completo. Deve haver uma instalação opcional para reinstalar uma versão mais antiga do QT do disco de instalação do SL. Não parece QT X permitir que você defina o monitor de tela cheia padrão.

    
por 18.12.2009 / 21:04