Applescript apre una nuova finestra per tutto quando viene eseguito

-1

Ho il seguente codice che ho fatto per una scorciatoia da tastiera tweetbot per aprire tweetbot e creare un nuovo tweet.

on run {input, parameters}
    activate application "Tweetbot 2"
        tell application "System Events" to keystroke "n" using command down
    return input
end run

Tuttavia, apre sempre una nuova finestra per tutto ciò che viene eseguito in background. Questo succede solo quando Tweetbot non è già in esecuzione.

Come posso risolvere questo problema?

    
posta Render 04.11.2012 - 20:53
fonte

1 risposta

-1

Questo perché l'applicazione non è in primo piano.

Il comando activate non attenderà la risposta dell'applicazione quando l'applicazione non è programmabile. Quindi lo script esegue immediatamente il comando keystroke , quindi keystroke verrà intercettato da un'altra applicazione.

activate application "Tweetbot 2"
tell application "System Events"
  tell process "Tweetbot 2"
      repeat until exists
          delay 0.4
      end repeat
      set frontmost to true
      delay 0.2
      keystroke "n" using command down
  end tell
end tell
    
risposta data 04.11.2012 - 22:28
fonte

Leggi altre domande sui tag