diff --git a/panel/lxqtpanel.cpp b/panel/lxqtpanel.cpp index 1598c5efa..bc9213f77 100644 --- a/panel/lxqtpanel.cpp +++ b/panel/lxqtpanel.cpp @@ -282,6 +282,12 @@ LXQtPanel::LXQtPanel(const QString &configGroup, LXQt::Settings *settings, QWidg mShowDelayTimer.start(); } }); + connect(KWindowSystem::self(), &KWindowSystem::showingDesktopChanged, this, [this] (bool showing) { + if (showing && mHidable && mHideOnOverlap) { + showPanel(mAnimationTime > 0); + mHideTimer.start(); + } + }); } /************************************************ @@ -1460,7 +1466,8 @@ void LXQtPanel::hidePanelWork() { if (!testAttribute(Qt::WA_UnderMouse)) { - if (!mStandaloneWindows->isAnyWindowShown()) + if (!mStandaloneWindows->isAnyWindowShown() + && !(mHideOnOverlap && KWindowSystem::showingDesktop())) { if (!mHideOnOverlap || isPanelOverlapped()) {