I'd like to create a macro to trigger a specific extension function in Vivaldi (Chrome Based).
The thing is that Vivaldi is currently affected by a bug which prevents user to deploy the classic chrome://extensions/shortcuts
Therefore, I would like to write a script to fire from Keyboard Maestro.
I am a complete JS noob and even after digging for hours on the web I couldn't marshal a single line of useful code.
Digging into the filesystem I've found the manifest.json files used by Vivaldi to trigger the extensions, and yet I am too inexperienced to decode them.
Can anyone point me to the right direction? Any help would be greatly appreciated by me and possibly many others in the Vivaldi community!
The following is the most primitive solution that comes to mind:
The Vivaldi bug can be avoided by setting the shortcuts to Global.
This is a real pain because it means that the shortcut will be activated from anywhere in MacOS. This could possibly be creating conflicts with other macros and shortcuts.
As a compromise, I could map a globally unused shortcut to the Chrome Extension I want to activate.
After that, I could use KM to press the new abstruse shortcut while pressing the old simple shortcut.
I've tried the above but the KM macro does not trigger the corresponding Vivaldi macro. My hypothesis is that Vivaldi is interfering with that. When setting a Vivaldi Extension to 'Global', the browser might be start monitoring keyboard inputs at the hardware level. So it could be cancelling the macro if does not see it coming directly from the keyboard.
Having tried that, do you have any other idea of how I could work around the bug?
Using AppleScript to press the buttons would be quite inelegant. Another problem with this is that it might not work with some extension functions that aren't GUI assigned.
Even after investigating, it seems like there's no real logic in who gets the bug and who doesn't.
I still haven't found a workaround to this glitch, as it seems that Vivaldi is interfering with KM macros. Vivaldi does not trigger any action when called from KM.