shell-app does not distinguish between instances/has no concept of instances.
This issue affects both apps that have the ability to create actual real instances and apps that create "fake" instances by just spawning a new window. It is most apparent with media players in the Shell’s MPRIS implementation.
Steps to reproduce:
- Start 2 instances of VLC.
- Try to raise either instance by clicking on it’s notification.
That the instance you clicked is the one that is raised.
What actually happens:
The instance who’s window has the highest user_time (the last window to be interacted with) is raised.
IMHO there needs to be a mechanism to distinguish between instances. The window’s pid, gtk_unique_bus_name and gtk_window_object_path could be helpful to tell the difference, both “fake” and real.