Commit bdf348c6 authored by David Edmundson's avatar David Edmundson

[wayland] Set better placement for XDG Toplevels

Summary:
XDG Popups will have a transient parent and positional information.
XDG Toplevels can have a transient parent without having positional
information.

Currently we set that we have a transient placement hint of 0,0 which
means the newly opened children go to the top left of the parent.

This new code paths treat child top levels as dialogs centering them to
the parent.

BUG: 393167

Test Plan:
Dolphin help->about
Appeared where it does on X

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D16293
parent 655d8af8
......@@ -74,6 +74,8 @@ void Placement::place(AbstractClient* c, QRect& area)
placeOnScreenDisplay(c, area);
else if (c->isTransient() && c->hasTransientPlacementHint())
placeTransient(c);
else if (c->isTransient() && c->surface())
placeDialog(c, area, options->placement());
else
place(c, area, options->placement());
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment