Fix application ID logic used to re-activate a running app instance
Before, the executable path was assumed to be the app ID, which isn't really correct. Unfortunately, there isn't a single "correct" answer, since different apps may set IDs of their choosing.
As a "sane" default, this code will use StartupWMClass if present, assuming that the application will set its ID to match, but the desktop file's basename is used otherwise.
https://phabricator.apertis.org/T8434
Signed-off-by: Ryan Gonzalez ryan.gonzalez@collabora.com