Overhaul app associativity heuristic to give precendence to StartupWMClass.

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



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

Diff Detail

R120 Plasma Workspace
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
hein created this revision.Feb 21 2017, 1:59 PM
Restricted Application added a project: Plasma. · View Herald TranscriptFeb 21 2017, 1:59 PM
broulik edited edge metadata.Feb 21 2017, 2:10 PM

Big +1, works beautifully:

  • Chrome windows behave like normal
  • Chrome app in Default user is treated like separate app
  • Chrome app in secondary Profile ("Profile_1" suffix) is treated like a separate app, too
  • LibreOffice Launcher is mapped fine
  • LibreOffice Writer and Calc are mapped properly, even when engaged from LibreOffice Launcher
  • Arduino IDE (one of the few other apps I have with StartupWMClass) working fine
davidedmundson accepted this revision.Feb 21 2017, 2:38 PM
This revision is now accepted and ready to land.Feb 21 2017, 2:38 PM
This revision was automatically updated to reflect the committed changes.