Virtual Stream Deck on menu bar when real Stream Deck is disconnected

I've spent many hours and days setting up my stream deck buttons and shortcuts.
The visual customization of the buttons helps me very much without having to remember tens or hundreds of shortcuts. This is especially true for groups, I usually hide sub-commands under a groups so my stupid brains always know which trail to follows when trying to accomplish something.

The problem is that when I use a laptop on the go I usually don't carry around the stream deck, meaning that all my shortcuts, groups and subgroups and button customizations are not accessible anymore and my brain pushes my hand to reach my Stream Deck that is not there :laughing:

Given that there is already a very light emulator of the Stream Deck when setting it up, would it be possible to have a fully fledged Stream Deck emulator living on menu bar when the real physical one is not available? I guess this would be possible with floating web view.

My idea would be to have a menu bar icon that when clicked will bring up a web view with a perfect emulation of the real Stream Deck.

I hope it won't be too difficult :pray:

You can configure that like this:

It should remember it's position so will show up / hide when you click the menubar icon

Hi, no, it doesn't remember its position, I move it around and always reopen in the left bottom corner.
The window size is also weird, I try to enlarge it to make all the buttons visible but they don't flow naturally. Anyway even if they becomes all visible the next time I show the emulator it's back to its original size and some buttons are hidden

Weird it seems to work fine here. Did you provide a serial number? It's also necessary to have the "show window title bar" option active for this to work.

However right now this is pretty slow. I'll add some caching to make it faster soon.

Also quite buggy, 1/3 of the times the buttons don't show up :man_shrugging:

Which macOS version are you on?

Ventura 13.6.6

ah unfortunately that might be the reason ;-(
Some of the code for that only works on macOS 14 or greater and Apple has fixed various window positioning issues there as well.

I'll check whether I can make it easily work on macOS 13 but I only have that running in a VM (might take a while for me to really look into it).

I see, thanks.
Is the serial number necessary even for the emulator? Could you please remind me how to find the serial number ?

You can just enter a fantasy serial number. It's just used as the title of the window, which macOS uses to save the position & size of the window.

The next alpha will make it much faster to show up.

ok thanks, embedding the emulator into a web view wouldn't solve both problems of speed and retro-compatibility?

BTW, giving a fantasy serial number fixed the position and size being saved :+1:

It is a webview already :wink:
Performance was easy to fix - BTT will now keep it loaded even when hidden. (But the new alpha will still take a bit until I can upload it)

1 Like

@sambtt that was an EXCELLENT suggestion. Thanks!

1 Like