x11: Drop support for "let windows cover panel" mode in _KDE_NET_WM_SCREEN_EDGE_SHOW

This seems really hacky and plasmashell dropped "let windows cover panel" mode.
This commit is contained in:
Vlad Zahorodnii 2023-05-25 11:20:09 +03:00
parent cf2410f631
commit 687415076f
3 changed files with 5 additions and 33 deletions

View file

@ -636,12 +636,6 @@ bool Window::belongsToDesktop() const
Layer Window::layerForDock() const
{
// slight hack for the 'allow window to cover panel' Kicker setting
// don't move keepbelow docks below normal window, but only to the same
// layer, so that both may be raised to cover the other
if (keepBelow()) {
return NormalLayer;
}
if (keepAbove()) { // slight hack for the autohiding panels
return AboveLayer;
}

View file

@ -2898,11 +2898,6 @@ Xcb::Property X11Window::fetchShowOnScreenEdge() const
void X11Window::readShowOnScreenEdge(Xcb::Property &property)
{
// value comes in two parts, edge in the lower byte
// then the type in the upper byte
// 0 = autohide
// 1 = raise in front on activate
const uint32_t value = property.value<uint32_t>(ElectricNone);
ElectricBorder border = ElectricNone;
switch (value & 0xFF) {
@ -2920,28 +2915,15 @@ void X11Window::readShowOnScreenEdge(Xcb::Property &property)
break;
}
if (border != ElectricNone) {
disconnect(m_edgeRemoveConnection);
disconnect(m_edgeGeometryTrackingConnection);
bool successfullyHidden = false;
if (((value >> 8) & 0xFF) == 1) {
setKeepBelow(true);
successfullyHidden = keepBelow(); // request could have failed due to user kwin rules
hideClient();
const bool successfullyHidden = isHiddenInternal();
m_edgeRemoveConnection = connect(this, &Window::keepBelowChanged, this, [this]() {
if (!keepBelow()) {
workspace()->screenEdges()->reserve(this, ElectricNone);
}
});
} else {
m_edgeGeometryTrackingConnection = connect(this, &X11Window::frameGeometryChanged, this, [this, border]() {
hideClient();
successfullyHidden = isHiddenInternal();
m_edgeGeometryTrackingConnection = connect(this, &X11Window::frameGeometryChanged, this, [this, border]() {
hideClient();
workspace()->screenEdges()->reserve(this, border);
});
}
workspace()->screenEdges()->reserve(this, border);
});
if (successfullyHidden) {
workspace()->screenEdges()->reserve(this, border);
@ -2970,10 +2952,7 @@ void X11Window::updateShowOnScreenEdge()
void X11Window::showOnScreenEdge()
{
disconnect(m_edgeRemoveConnection);
showClient();
setKeepBelow(false);
xcb_delete_property(kwinApp()->x11Connection(), window(), atoms->kde_screen_edge_show);
}

View file

@ -523,7 +523,6 @@ private:
QTimer *m_focusOutTimer;
QTimer m_releaseTimer;
QMetaObject::Connection m_edgeRemoveConnection;
QMetaObject::Connection m_edgeGeometryTrackingConnection;
QMarginsF m_clientFrameExtents;