È possibile collegare due app in modo tale che quando si apre o si chiude, l'altro lo fa?

1

I trigger possono essere impostati in modo tale che all'avvio di "App A" venga avviata automaticamente un'altra "App B"? Idealmente, la soluzione invia un messaggio di uscita a "App B" quando si chiude "App A", ma la parte importante è la sequenza di avvio.

    
posta Tom 01.08.2013 - 08:33
fonte

1 risposta

1

Salva un plist come questo ~/Library/LaunchAgents/test.plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>test</string>
  <key>ProgramArguments</key>
  <array>
    <string>bash</string>
    <string>-c</string>
    <string>while sleep 5; do
  if pgrep -x Preview; then
    pgrep -x TextEdit || open -jga TextEdit
  else
    pgrep -x TextEdit &amp;&amp; osascript -e 'quit app "TextEdit"'
  fi
done</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <true/>
</dict>
</plist>

Quindi carica il plist con launchctl load ~/Library/LaunchAgents/test.plist o esegui il logout e torna indietro.

open -jg dovrebbe aprire un'applicazione nascosta e senza generare alcuna finestra. Per alcune applicazioni basate su documenti come TextEdit, apre una nuova finestra visibile se l'applicazione è aperta ma non ha finestre visibili.

pgrep e l'opzione -j per open sono stati aggiunti in 10.8. L'opzione -j viene mostrata solo nel messaggio di aiuto e non nella pagina man.

    
risposta data 01.08.2013 - 18:42
fonte

Leggi altre domande sui tag