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

1

¿Se pueden configurar los activadores para que cuando se inicie "Aplicación A", se inicie automáticamente otra "Aplicación B"? Idealmente, la solución enviaría un mensaje de salida a "App B" cuando se cierre "App A", pero la parte importante es la secuencia de inicio.

    
pregunta Tom 01.08.2013 - 08:33

1 respuesta

1

Guarda una lista como esta como ~/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>

Luego, cargue el plist con launchctl load ~/Library/LaunchAgents/test.plist o cierre la sesión y vuelva a iniciarla.

open -jg debe abrir una aplicación oculta y sin abrir ventanas. 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 la opción -j para open se agregaron en 10.8. La opción -j solo se muestra en el mensaje de ayuda y no en la página de manual.

    
respondido por el user495470 01.08.2013 - 18:42

Lea otras preguntas en las etiquetas