diff --git a/libtaskmanager/taskmanagerrulesrc b/libtaskmanager/taskmanagerrulesrc --- a/libtaskmanager/taskmanagerrulesrc +++ b/libtaskmanager/taskmanagerrulesrc @@ -17,32 +17,27 @@ [Rewrite Rules][google-chrome][1] Property=ClassName -Identifier=DesktopEntryName +Identifier=StartupWMClass Match=(?<=crx_)(?'match'[a-z]+) -Target=chrome-%1-default # Google changed the class to be "Google-chrome" around version 54 [Rewrite Rules][Google-chrome][1] Property=ClassName -Identifier=DesktopEntryName +Identifier=StartupWMClass Match=(?<=crx_)(?'match'[a-z]+) -Target=chrome-%1-default [Rewrite Rules][chromium][1] Property=ClassName -Identifier=DesktopEntryName +Identifier=StartupWMClass Match=(?<=crx_)(?'match'[a-z]+) -Target=chrome-%1-default [Rewrite Rules][chromium-browser][1] Property=ClassName -Identifier=DesktopEntryName +Identifier=StartupWMClass Match=(?<=crx_)(?'match'[a-z]+) -Target=chrome-%1-default # Chromium changed the class too [Rewrite Rules][Chromium][1] Property=ClassName -Identifier=DesktopEntryName +Identifier=StartupWMClass Match=(?<=crx_)(?'match'[a-z]+) -Target=chrome-%1-default diff --git a/libtaskmanager/xwindowtasksmodel.cpp b/libtaskmanager/xwindowtasksmodel.cpp --- a/libtaskmanager/xwindowtasksmodel.cpp +++ b/libtaskmanager/xwindowtasksmodel.cpp @@ -592,7 +592,11 @@ continue; } - const QString rewrittenString = ruleGroup.readEntry(QStringLiteral("Target")).arg(actualMatch); + QString rewrittenString = ruleGroup.readEntry(QStringLiteral("Target")).arg(actualMatch); + // If no "Target" is provided, instead assume the matched property (ClassClass/ClassName). + if (rewrittenString.isEmpty()) { + rewrittenString = matchProperty; + } services = KServiceTypeTrader::self()->query(QStringLiteral("Application"), QStringLiteral("exist Exec and ('%1' =~ %2)").arg(rewrittenString, serviceSearchIdentifier));