diff --git a/src/blackgui/dockwidget.cpp b/src/blackgui/dockwidget.cpp index bab5e5220..f5c6a89b9 100644 --- a/src/blackgui/dockwidget.cpp +++ b/src/blackgui/dockwidget.cpp @@ -250,8 +250,14 @@ namespace BlackGui { const bool floating = !this->isFloating(); if (!floating) { this->setFrameless(false); } // remove frameless if not floating + + const Qt::KeyboardModifiers km = QGuiApplication::queryKeyboardModifiers(); + const bool shift = km.testFlag(Qt::ShiftModifier); + this->setFloating(floating); - this->setAlwaysOnTop(m_alwaysOnTop); + this->setAlwaysOnTop(m_alwaysOnTop && floating); + + if (shift && floating) { this->resetPosition(); } } void CDockWidget::toggleVisibility()