Overhaul app associativity heuristic to give precendence to StartupWMClass.
ClosedPublic

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

Details

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.

Diff Detail

Repository
R120 Plasma Workspace
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
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.