Come ottenere un elenco di finestre delle applicazioni solo dal desktop corrente con applescript?

1

Devi fare qualcosa come il prossimo

tell application "Safari"
activate
    set AllWindows to every window
    set WinCount to number of items in AllWindows

    repeat with i from 1 to WinCount
        set this_window to item i of AllWindows
        -- do something with the this_window
    end repeat
end tell

Il lavoro di abowe va bene, e ottenere TUTTI ha aperto la finestra di Safari aperta.

Come si può ottenere la finestra solo dal desktop curvilineo? Quindi è necessario modificare leggermente la linea

    set AllWindows to every window

in qualcosa di simile

    set AllWindows to ONLY FROM THE CURRENT desktop windows :)

Qualche idea?

    
posta jm666 21.03.2014 - 16:10
fonte

1 risposta

1

Gli eventi di sistema includono solo finestre nello spazio / desktop corrente:

tell application "System Events" to windows of process "Safari"

Non conosco alcun modo per convertire un oggetto finestra Eventi di sistema in un oggetto finestra Safari, a parte gli hack come questo:

tell application "System Events" to tell window 1 of process "Safari"
    set {x, y} to position
    set {w, h} to size
    set b to {x, y, x + w, y + h}
    set t to title
end tell
tell application "Safari"
    set found to missing value
    repeat with w in windows
        if bounds of w is b and name of w is t then
            set found to w
            exit repeat
        end if
    end repeat
    found
end tell

tell application "System Events" to value of attribute "AXIdentifier" of window 1 of process "Safari" non corrisponde a tell application "Safari" to id of window 1 .

    
risposta data 22.03.2014 - 22:57
fonte

Leggi altre domande sui tag