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.

Reply via email to