Home » AgentMode TextSoap

Agent Mode

A brief explanation of why agent mode exists and how it works.

TextSoap 6

TextSoap 6 was divided into two parts (textsoap.app and textsoapAgent.app), the main application and the "agent" (or helper app). Under TextSoap 6, the agent did the actual text processing. We then added support to allow users to script the agent directly.

The benefit of the separate agent is that users could use TextSoap's features from within AppleScript, Services, Automator, and more without needing to launch the main application.

TextSoap 7

Starting with TextSoap 7, we merged the two components into a single app. After TextSoap 7 shipped, a lot of existing customers expressed a strong desire for the invisible behavior they enjoyed with TextSoap 6.

Enter TextSoap 7's Agent Mode

Starting with TextSoap 7.0.1, we added an option to allow the main application to run as both a standard app and in an invisible mode (agent mode). It requires enabling the option to run as agent in TextSoap > General Preferences. If the option is not enabled, the "launch as agent" directive is ignored.

When launched as an agent, TextSoap does a couple things differently:

- It stays invisible. No icon appears in the dock and no UI is loaded.
- It automatically quits after a period of non-use to free its resources.

In order for this magic to work, it also requires control over the launch process. We have control of the launch when accessing TextSoap through the Universal Menu or Automator Actions.

Two places where we couldn't control the launch process: AppleScript and OS X Services. The result -- the application launched as a standard app when accessed with either of these features.

Return of the Agent (textsoap7agent)

Starting with TextSoap 7.3, the agent returns (as textsoap7agent).

- Enable it by selecting the Agent option in TextSoap's General Preferences.
- It acts as the AppleScript interface.
- It acts as the OS X Services handler for both built-in and custom service items.

Unlike TextSoap 6's textsoapAgent, the textsoap7agent doesn't do the actually text cleaning, it acts as the middleman between the caller and TextSoap. When accessed via AppleScript or OS X Services, it takes the request, launches the main app in agent mode and uses the main app t process the request and do the actual text cleaning.

Note: Because it is a background app, there is no icon. Use the preference option to control of the agent launch.

Note: If you use custom OS X Services, you may need to deselect the Services option in Preferences > OS X Services and then re-select it to install the updated Service definitions to properly use the new textsoap7agent.