Ottieni il primo elemento in elenco usando AppleScript

3

Come faccio a ottenere il primo elemento da una lista in una variabile?

Sto cercando di ottenere la prima finestra delle finestre di un'applicazione.

Ho provato

tell application "System Events"
    repeat with theProcess in processes
        if not background only of theProcess then
            if processName is "Xcode" then
                set theWindow to first window of windows
            end if
        end if
    end repeat
end tell

ma genera questo errore:

Can't get window of every window.

    
posta Iulian Onofrei 30.05.2017 - 12:37
fonte

1 risposta

2

A meno che tu non abbia la necessità esplicita di seguirlo nel modo mostrato nella tua domanda, lo terrei molto più semplice e useremo:

tell application "System Events" to set isRunning to exists (processes where name is "Xcode")
if isRunning then set theWindow to (first window of application "Xcode")

In caso contrario, la modifica del blocco di codice esistente nel modo seguente otterrà lo stesso risultato delle due righe di codice sopra:

tell application "System Events"
    repeat with theProcess in processes
        if not background only of theProcess then
            if name of theProcess is "Xcode" then
                tell application "Xcode"
                    set theWindow to first window of application "Xcode"
                end tell
            end if
        end if
    end repeat
end tell

Se si desidera utilizzare la prima riga di codice nella mia risposta in un utente più tokenizzato, ad esempio, utilizzare:

set appName to "Xcode"
tell application "System Events" to set isRunning to exists (processes where name is appName)
if isRunning then set theWindow to (first window of application appName)

Quindi tutto ciò che devi fare è impostare appName sull'app di destinazione nella prima riga di codice e le due righe di codice che seguono sono così come sono e non ha bisogno di essere modificato per l'uso con altri nomi di app.

    
risposta data 30.05.2017 - 14:01
fonte

Leggi altre domande sui tag