Currently, in my config, I have a folder/group that handles all my window moving/resizing functions. Thanks to the 'Keep group open while switching apps' function, it allows me to quickly set up various configurations.
One thing I keep running into is that after they're set up, I have to manually exit out of the group, and I don't always remember to until I reach for my device trying to trigger something else, only to see that group still there.
I think a nice option would be an 'Auto-close group after timeout' feature where if I don't interact with the device for 'x' seconds, it auto-closes the group for me.
Is anything like that possible with BTT at present? If not, can this be considered for a future enhancement?
You can do this using the BTT action "Execute Action Sequence after Timeout".
The only trick to this is that a StreamDeck group doesn't allow you to add actions to it, so you need to add another way to open the group.
Here is a simple example preset:
StreamDeck_AutoCloseGroup.bttpreset (18.3 KB)
The following screenshot shows what I did:
- There are two Streamdeck Groups defined here, "AutoCloseGroup" and "RegularGroup". These are just normal StreamDeck Groups with items in them.
- Then I have a separate Streamdeck Button "ACG" that I will use to actually open the group. This does two things when pressed:
- Open the "AutoCloseGroup", and
- "Execute Action Sequence after Timeout" such that after 10 seconds the action sequence (in the second screenshot) gets executed. This sequence does nothing but close the currently open Stream Deck group.
- Once I have added the ACG button, I don't want the "AutoCloseGroup" using up a button, so the "AutoCloseGroup" is disabled. This means that it will not show up on the StreamDeck, but the group can still be opened.
- Finally, if the AutoCloseGroup is closed by hand (using its Close button), I don't want the timer action sequence to fire (in case I open some other group before the timer finishes), so I added an action to the "Close" button on
"AutoCloseGroup" that will cancel the timer sequence.
I hope this helps.
Note: There are other ways to do this in BTT. For instance, you can do it in a Javascript function triggered by an action. This might make sense if you want to do anything more complicated.