1 votos

¿Se pueden vincular dos aplicaciones para que cuando una se abra o se cierre, lo haga la otra?

¿Pueden establecerse activadores para que cuando se inicie la "aplicación A", se inicie automáticamente otra "aplicación B"? Lo ideal sería que la solución enviara un mensaje de salida a la "App B" cuando la "App A" se cierra, pero lo importante es la secuencia de lanzamiento.

1voto

Fuzzy Purple Monkey Puntos 702

Guarda un plist como este ~/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>

A continuación, cargue el plist con launchctl load ~/Library/LaunchAgents/test.plist o cerrando la sesión y volviéndola a abrir.

open -jg se supone que abre una aplicación de forma oculta y sin levantar ningún Windows. Para algunas aplicaciones basadas en documentos como TextEdit, abre una nueva ventana visible si la aplicación está abierta pero no tiene ventanas visibles.

pgrep y el -j opción para open se añadieron en 10.8. El -j sólo se muestra en el mensaje de ayuda y no en la página de manual.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X