Basic Notions
- There are 8 variables (a, b, c, d, e, f, g, h) which are manipulated by the actions Apt:Var+ , Apt:Var- and Apt:Var0 which increment, decrement and clear a variable's value respectively.
- There is no action to set a specific value to a variable: just use combinations of the above actions to get that effect.
- All variables start with value 0 after a reset (or initial install).
- Variables are global, in that they retain their value across all apps.
- The purpose of variables is to allow different triggers to act as conditions for other triggers. Each trigger has a 'condition button' to the left of it. Tap on the button to set the variable value that must match for the trigger to execute.
Using Variables
1. Set a Variable to Signal Some Condition
The first step is to set a variable of your choice to a certain value when you want to signal a certain condition.
Here's a simple example:
In target *Default*, Events screen:
(1000) / Time / Apt / Var+: / a
This sets up a time trigger at 10:00 AM that increments variable A by one.
2. Clear the Variable When the Condition Stops
Next, you want to tell Apt to make the variable return to a clear state when the condition stops. In this example, since we want A to be set only between 10:00 AM and 17:00 PM, we need to set up another time trigger:
In the same target *Default*, Events screen, add this:
(1700) / Time / Apt / Var0: / a
This sets up a time trigger at 17:00 AM that clears variable A back to zero.
3. Use the Variable as a Condition in Some Other Trigger
Finally, we can make use of this variable that is set to signal the condition "the time is between 10:00 AM and 17:00 PM" for some effect:
In target Blazer, Events screen:
(a>0) / -Lnch / App / Opera
This means: if a=1 (i.e. if it's between 10am and 5pm) whenever Blazer is launched, launch Opera instead.
Possible Uses
There are many things that can be done, whenever some kind of context is required for a trigger. Some ideas are:
- signaling when we are inside a form (to get form-based triggers);
- signaling when we are connected to a network;
- signaling when we are connected to a battery charger (for example, to launch lengthy battery-draining tasks);
- for macros that span several apps, using a variable to signal that we have started handling something, go through several apps with partial macros (that run only when that variable is set), then finish by clearing the variable.
- whatever your imagination is capable of…