unblock Meta event properly for all launchers

work/m_layershell
Michail Vourlakos 3 years ago
parent 3769cef501
commit 63a54b40db

@ -106,6 +106,7 @@ View::View(Plasma::Corona *corona, QScreen *targetScreen, bool byPassWM)
connect(&m_releaseGrabTimer, &QTimer::timeout, this, &View::releaseGrab); connect(&m_releaseGrabTimer, &QTimer::timeout, this, &View::releaseGrab);
connect(m_contextMenu, &ViewPart::ContextMenu::menuChanged, this, &View::updateTransientWindowsTracking); connect(m_contextMenu, &ViewPart::ContextMenu::menuChanged, this, &View::updateTransientWindowsTracking);
connect(m_interface, &ViewPart::ContainmentInterface::hasExpandedAppletChanged, this, &View::updateTransientWindowsTracking);
connect(this, &View::containmentChanged connect(this, &View::containmentChanged
, this, [ &, byPassWM]() { , this, [ &, byPassWM]() {
@ -708,6 +709,10 @@ void View::removeTransientWindow(const bool &visible)
disconnect(window, &QWindow::visibleChanged, this, &View::removeTransientWindow); disconnect(window, &QWindow::visibleChanged, this, &View::removeTransientWindow);
m_transientWindows.removeAll(window); m_transientWindows.removeAll(window);
if (m_visibility->hasBlockHidingEvent(Latte::GlobalShortcuts::SHORTCUTBLOCKHIDINGTYPE)) {
m_visibility->removeBlockHidingEvent(Latte::GlobalShortcuts::SHORTCUTBLOCKHIDINGTYPE);
}
updateTransientWindowsTracking(); updateTransientWindowsTracking();
} }
} }
@ -715,13 +720,11 @@ void View::removeTransientWindow(const bool &visible)
void View::updateTransientWindowsTracking() void View::updateTransientWindowsTracking()
{ {
for(QWindow *window: qApp->topLevelWindows()) { for(QWindow *window: qApp->topLevelWindows()) {
if (window->transientParent() == this){ if (window->transientParent() == this && window->isVisible()){
if (window->isVisible()) {
addTransientWindow(window); addTransientWindow(window);
break; break;
} }
} }
}
} }
Types::ViewType View::type() const Types::ViewType View::type() const

Loading…
Cancel
Save