Czy można powiązać dwie aplikacje, aby jedna otwierała lub zamykała drugą?


1

Czy można skonfigurować wyzwalacze, aby po uruchomieniu „aplikacji A” automatycznie uruchomiła się kolejna „aplikacja B”? Najlepiej byłoby, gdyby rozwiązanie wysyłało komunikat „zamknij” do „App B”, gdy „App A” zakończy działanie, ale ważną częścią jest sekwencja uruchamiania.

Odpowiedzi:


1

Zapisz taką listę jak ~/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>

Następnie załaduj plist za pomocą launchctl load ~/Library/LaunchAgents/test.plistlub, wylogowując się i ponownie logując.

open -jgma otwierać aplikację ukrytą i bez podnoszenia okien. W przypadku niektórych aplikacji opartych na dokumentach, takich jak TextEdit, otwiera nowe widoczne okno, jeśli aplikacja jest otwarta, ale nie ma widocznych okien.

pgrepa -jopcja dla openzostała dodana w 10.8. Ta -jopcja jest wyświetlana tylko w komunikacie pomocy, a nie na stronie podręcznika.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.