Support
All support resources for our products. Here you can find answers to frequently asked questions, discuss with other users, recover a lost license code or file a support request.
Forum closed
This forum was closed and turned into an archive effective April 21, 2018. It is no longer possible to create new topics or reply to existing topics.

Thanks everyone for all the great questions and contributions over the years.

Please use the Contact form to get in touch.

Remote Buddy Forum

Overview 

AuthorThread
User

02.02.2009 01:52:33
Different Behaviors for One Application?
View

This posting is older than 6 months and can contain outdated information.
I created a custom behavior for Opera that defines actions for keyboard shortcuts provided by Gmail and then set up the mappings for my remote. I've set it up so that activating the behavior activates Opera, goes into Fullscreen, sets the font size extra large (this is hooked up to my TV).

So far, it works perfectly for reading email from the couch. :)

But I have a problem: I have to disable the default Opera behavior, otherwise, those mappings get used even when I launch Opera by activating the custom Gmail behavior. But that means that other than using Gmail, I can't use the remote to control Opera.

I would like to be able to create other custom behaviors for other web-based interfaces that I use. I haven't tried this yet, but since I imagine it will have the same problem.

Any suggestions on how I can accomplish this? (Please let me know if my description is unclear).

PS: if you're curious, I chose Opera only because it has a true Fullscreen mode on MacOS and other browsers do not. 

These entries from the FAQ may be relevant to this topic:

Configuration
Hardware - Apple® Remote
User

02.02.2009 01:56:42
Re: Different Behaviors for One Application?
View

This posting is older than 6 months and can contain outdated information.
By the way: I have attempted making a copy of Opera.app, and altering it's ID to fool the system that it is a different application. It *almost* works, but unfortunately causes errors (within Opera) if both copies are launched at the same time. 
User

02.02.2009 11:27:17
Re: Different Behaviors for One Application?
View

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 

User

02.02.2009 16:22:26
Re: Different Behaviors for One Application?
View

This posting is older than 6 months and can contain outdated information.
Fantastic! Thanks very much for the detailed explanation. Works perfectly.