[krunner] First set panel behavior than as panel
ClosedPublic

Authored by graesslin on Jul 12 2017, 7:08 PM.

Details

Summary

If a PlasmaShellSurface for an already mapped window is created and set
to panel it affects other windows by adjusting the maximized area. This
happens when showing KRunner for the second time and later. To prevent
this and make KWin's life slightly easier we first set the panel behavior
to windows go below and then mark it as panel. Thus other windows are not
affected by opening KRunner.

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin created this revision.Jul 12 2017, 7:08 PM
Restricted Application added a project: Plasma. · View Herald TranscriptJul 12 2017, 7:08 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
apol added a subscriber: apol.Jul 12 2017, 10:00 PM

Seems like this API is extremely brittle, would it be possible to make sure this is dealt with on the library side?

In D6657#124685, @apol wrote:

Seems like this API is extremely brittle, would it be possible to make sure this is dealt with on the library side?

See my long explanation mail.

mart added a subscriber: mart.Jul 13 2017, 7:57 AM

does this overridex/fixes D6654?

In D6657#124801, @mart wrote:

does this overridex/fixes D6654?

kind of orthogonal. D6654 would be nicer if it worked. But as long as D6654 does not work, this one here at least makes it working.

ping! Anything speaking against this simple patch to make the situation better?

davidedmundson accepted this revision.Jul 19 2017, 6:08 PM
davidedmundson added a subscriber: davidedmundson.

Doesn't do any harm.

Was the original intention (before "the qt bug") to have shell surface set all it's states before the window gets mapped?

This revision is now accepted and ready to land.Jul 19 2017, 6:08 PM

Doesn't do any harm.

Was the original intention (before "the qt bug") to have shell surface set all it's states before the window gets mapped?

Yes, the complete interface is designed the way that you set once your state. Once a dock always a dock. And the panel behavior is a different call as that's allowed to change.

This revision was automatically updated to reflect the committed changes.