This posting is older than 6 months and can contain outdated information.
This is what happens when you activate a Behaviour:
1) Remote Buddy hands over control to the Behaviour and tells it that
it has been activated
2) The Behaviour typically launches the app it controls or brings it
to front when it is already running
3) OS X tells Remote Buddy that the active application changed
4) Remote Buddy looks for a matching Behaviour. With one Behaviour per
application it'd find the same Behaviour it already found in 1). With
multiple Behaviours claiming exclusive control over one application
(which RB isn't designed for), Remote Buddy has to make a decision,
which can mean that it chooses a different Behaviour than the one
selected in 1).
Are there solutions for your use case? Yes, two of them:
1) You can select the option in RB > Prefs > General > Advanced to
make the selection of a Behaviour stick until you explicitely go back
into the menu and deactivate it. That effectively turns of step 4).
2) You can add an AppleScript action to your custom Behaviour and
assign it to the action that gets triggered on manual activation (=>
on the top of the Default mapping tab in the Behaviour Factory). That
AppleScript will look like this:
behaviourcore accessor "setActiveBehaviour" identifier
"your.behaviour.identifier" useActivationEventCode
"activatedInBackground" with stickyValue
(=> more info on RB's AppleScript support as well as commented sample
code can be found in Script Editor.app's Library)
That has basically the same effect as 1) except that it really only
affects your own Behaviour, while the auto-selection of all other
Behaviours remains unchanged.
Best regards,
Felix Schwarz