When a ShellClient is created, KWayland has't processed any requests
from the client. So, there won't be useful information that can be
used to match window rules against the client, e.g. app id or the title.
The worst part is that the xdg-shell spec doesn't have restrictions on
when a client can change its app id, i.e nothing prevents a client from
changing its app id while it's still mapped! The proposed change
addresses that issue by applying rules like Apply or Remember only when
the client is unmapped.
This is still not the complete solution. The Size and Maximize rules will
shape further the implementation of window rules for ShellClient. We'd
like to delay sending initial configure event as well compress all state
and size changes caused by window rules.
BUG: 403305