As a Roblox developer, it is currently impossible to determine when a DockWidget or QWidget has gained or lost focus.
If this issue is addressed, it would make developing plugins much easier as it would then allow us to automatically write frameworks that rely on inputs to handle stuff like tab indexes, which is fairly important on windows for UX.
Currently, we have to assume the user never has the window focused and basically cannot write these input service handlers.
Internal plugins such as the Animation Editor also extenuate this problem, where they have to rely on the selection being lost to determine that focus is lost, and then you have to press an intrusive button to regain focus of the editor.
Having an event such as PluginGui.FocusGained
makes UX much easier than needing to have a button to reactivate the editor
QWidgets, which for anyone out of the loop, are internal widgets that prevent dismissal through clicking off, also seem to lack these events.
If QWidgets did have the property it could then be chalked up to, oh it’s been done for security reasons. But they dont.