Summary: | window caption changes thrash tabbox stacking order | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Harald Sitter <sitter> |
Component: | platform-x11-standalone | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | nate |
Priority: | NOR | Keywords: | usability |
Version First Reported In: | git master | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | kwinrulesrc |
Description
Harald Sitter
2020-08-18 10:13:40 UTC
Thank you for diagnosing the culprint of the bug. Do you know why the client is made first in the focus chain? I have very limited knowledge of the activities-related code and the feature itself. Can you also post your ~/.config/kwinrulesrc? (In reply to Vlad Zahorodnii from comment #1) > Thank you for diagnosing the culprint of the bug. Do you know why the client > is made first in the focus chain? I have very limited knowledge of the > activities-related code and the feature itself. Not really. I suspect it's for the case when the client is new rather than when a client changes. Like say I start dolphin on activity Foo and have a rule that also forces it on activity Bar (I'm not sure that's even how this feature would work) it'd need to be marked first in both for the focus chain in Bar to reflect the fact that it's a new client. Other than that I fail to imagine why it'd ever need to force a client to the front of the chain. Created attachment 130962 [details]
kwinrulesrc
From the attached kwinrulesrc file: [3] Description=Application settings for telegramdesktop clientmachinematch=0 noborderrule=2 screen=0 wmclass=telegram-desktop telegramdesktop wmclasscomplete=true wmclassmatch=1 The window rules match only telegram-desktop telegramdesktop window class, so I don't really understand why kwin starts re-evaluating window rules when the caption changes. I've added some debug output to Rules::match and it's the plymouth rule that causes the caption watching. All other rules would get discarded because of the earlier checks in ::match, plymouth doesn't so it falls into the (titlematch != UnimportantMatch) branch which then causes the connection to evaluateWindowRules and that then leads to the trace ending up in the focus chain change. Ugh. |