diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp --- a/src/plasmaquick/dialog.cpp +++ b/src/plasmaquick/dialog.cpp @@ -205,9 +205,13 @@ QRect avail = availableScreenGeometryForPosition(geom.topLeft()); int borders = Plasma::FrameSvg::AllBorders; + QWindow *parentWindow = q->transientParent(); + bool inDock = parentWindow && !parentWindow->mask().isNull() && KWindowSystem::compositingActive(); + //Tooltips always have all the borders // floating windows have all borders - if (!q->flags().testFlag(Qt::ToolTip) && location != Plasma::Types::Floating) { + // popup windows from docks have all borders + if (!q->flags().testFlag(Qt::ToolTip) && location != Plasma::Types::Floating && !inDock) { if (geom.x() <= avail.x() || location == Plasma::Types::LeftEdge) { borders = borders & ~Plasma::FrameSvg::LeftBorder; }