https://bugs.kde.org/show_bug.cgi?id=484540
--- Comment #8 from benjamin weber <[email protected]> --- I've struggled to find my changes, I gave up keeping it working with every new version. I think this patch might be indicative though hunting through my archives (it's the wrong way round) When I get some time I'll look at bringing it back again in a better way, this was by far the most useful panel mode with a big screen, and wayland is still far too buggy. ``` diff -rabu ./shell/autohidescreenedge.cpp /tmp/plasma-workspace-6.0.5/shell/autohidescreenedge.cpp --- ./shell/autohidescreenedge.cpp 2024-10-28 13:05:34.569612410 +0000 +++ /tmp/plasma-workspace-6.0.5/shell/autohidescreenedge.cpp 2024-05-21 17:49:45.000000000 +0100 @@ -249,8 +249,6 @@ break; } - value = value | 256; - xcb_change_property(QX11Info::connection(), XCB_PROP_MODE_REPLACE, m_view->winId(), m_atom, XCB_ATOM_CARDINAL, 32, 1, &value); } diff -rabu ./shell/coronatesthelper.cpp /tmp/plasma-workspace-6.0.5/shell/coronatesthelper.cpp --- ./shell/coronatesthelper.cpp 2024-10-28 13:01:45.746270507 +0000 +++ /tmp/plasma-workspace-6.0.5/shell/coronatesthelper.cpp 2024-05-21 17:49:45.000000000 +0100 @@ -42,13 +42,12 @@ return; } + auto testObject = obj->testItem(); + if (!testObject) { + qCWarning(PLASMASHELL) << "no test for" << applet->title(); return; - // auto testObject = obj->testItem(); - // if (!testObject) { - // qCWarning(PLASMASHELL) << "no test for" << applet->title(); - // return; - // } - // integrateTest(testObject); + } + integrateTest(testObject); } void CoronaTestHelper::integrateTest(QObject *testObject) diff -rabu ./shell/panelconfigview.cpp /tmp/plasma-workspace-6.0.5/shell/panelconfigview.cpp --- ./shell/panelconfigview.cpp 2024-10-28 14:12:33.089762946 +0000 +++ /tmp/plasma-workspace-6.0.5/shell/panelconfigview.cpp 2024-05-21 17:49:45.000000000 +0100 @@ -103,8 +103,8 @@ } if (KWindowSystem::isPlatformX11()) { - KX11Extras::setType(winId(), NET::Normal); - KX11Extras::setState(winId(), NET::KeepBelow); + KX11Extras::setType(winId(), NET::Dock); + KX11Extras::setState(winId(), NET::KeepAbove); switch (m_containment->location()) { case Plasma::Types::TopEdge: setPosition(available.topLeft() + screen()->geometry().topLeft()); diff -rabu ./shell/panelview.cpp /tmp/plasma-workspace-6.0.5/shell/panelview.cpp --- ./shell/panelview.cpp 2024-10-28 15:16:44.153240638 +0000 +++ /tmp/plasma-workspace-6.0.5/shell/panelview.cpp 2024-05-21 17:49:45.000000000 +0100 @@ -407,7 +407,6 @@ void PanelView::setVisibilityMode(PanelView::VisibilityMode mode) { - connect(containment(), &Plasma::Applet::activated, this, &PanelView::showTemporarily); if (m_visibilityMode == mode) { return; } @@ -873,7 +872,7 @@ void PanelView::restoreAutoHide() { - bool autoHide = false; + bool autoHide = true; disconnect(m_transientWindowVisibleWatcher); if (!edgeActivated()) { @@ -977,9 +976,9 @@ #if HAVE_X11 if (KWindowSystem::isPlatformX11()) { KX11Extras::setOnAllDesktops(winId(), true); - KX11Extras::setType(winId(), NET::Normal); + KX11Extras::setType(winId(), NET::Dock); // QXcbWindow isn't installed and thus inaccessible to us, but it does read this magic property... - //setProperty("_q_xcb_wm_window_type", QNativeInterface::Private::QXcbWindow::Dock); + setProperty("_q_xcb_wm_window_type", QNativeInterface::Private::QXcbWindow::Dock); } #endif setVisibilityMode(m_visibilityMode); @@ -1062,7 +1061,6 @@ case QEvent::Enter: m_containsMouse = true; if (edgeActivated()) { - KX11Extras::setState(winId(), NET::KeepAbove); m_unhideTimer.stop(); } break; @@ -1070,7 +1068,6 @@ case QEvent::Leave: m_containsMouse = false; if (edgeActivated()) { - KX11Extras::clearState(winId(), NET::KeepAbove); m_unhideTimer.start(); } break; @@ -1577,9 +1574,6 @@ void PanelView::showTemporarily() { setAutoHideEnabled(false); - //KX11Extras::activateWindow(winId()); - KX11Extras::setState(winId(), NET::KeepAbove); - QTimer *t = new QTimer(this); t->setSingleShot(true); @@ -1610,7 +1604,7 @@ bool PanelView::edgeActivated() const { - return true || m_visibilityMode == PanelView::AutoHide || m_visibilityMode == PanelView::DodgeWindows; + return m_visibilityMode == PanelView::AutoHide || m_visibilityMode == PanelView::DodgeWindows; } void PanelView::updateEnabledBorders() ``` -- You are receiving this mail because: You are watching all bug changes.
