Set state in PlasmaCore.Dialog after Qt handled the show event
Qt's xcb plugin updates _NET_WM_STATE and ignores anything we set, thus we need to ensure that our additional states are set after Qt set the state. Luckily KWindowSystem does not remove the state which is already set. Reviewed-By: Marco Martin
This commit is contained in:
parent
ba91c53c12
commit
3303f9b979
@ -544,7 +544,6 @@ void DialogProxy::focusOutEvent(QFocusEvent *ev)
|
|||||||
|
|
||||||
void DialogProxy::showEvent(QShowEvent *event)
|
void DialogProxy::showEvent(QShowEvent *event)
|
||||||
{
|
{
|
||||||
KWindowSystem::setState(winId(), NET::SkipTaskbar | NET::SkipPager);
|
|
||||||
DialogShadows::self()->addWindow(this, m_frameSvgItem->enabledBorders());
|
DialogShadows::self()->addWindow(this, m_frameSvgItem->enabledBorders());
|
||||||
QQuickWindow::showEvent(event);
|
QQuickWindow::showEvent(event);
|
||||||
}
|
}
|
||||||
@ -557,7 +556,9 @@ bool DialogProxy::event(QEvent *event)
|
|||||||
updateVisibility(false);
|
updateVisibility(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return QQuickWindow::event(event);
|
const bool retval = QQuickWindow::event(event);
|
||||||
|
KWindowSystem::setState(winId(), NET::SkipTaskbar | NET::SkipPager);
|
||||||
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DialogProxy::hideEvent(QHideEvent *event)
|
void DialogProxy::hideEvent(QHideEvent *event)
|
||||||
|
Loading…
Reference in New Issue
Block a user