Overhaul app associativity heuristic to give precendence to StartupWMClass.

Authored by hein on Feb 21 2017, 1:56 PM.

Description

Overhaul app associativity heuristic to give precendence to StartupWMClass.

Summary:
WM_CLASS instance and general classes are checked against StartupWMClass
prior to most rewrite and mapping rules, and prior to the DesktopEntryName
and Name checks.

This matches the fd.o spec more closely and makes Chrome Apps and
LibreOffice work without special mapping rules, which is also a speed
win.

Reviewers: Plasma, davidedmundson, broulik

Subscribers: plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D4706