This is my first KDE patch so please let me know if coding style/methods need to be changed.<br>Aaron poked me into looking into this and I was able to come up with a patch that moves the panel from one screen to the other.&nbsp; This patch worked surprisingly well and I was unable to make it behave badly in testing with my two screens.<br>
<br>Another bug right now is the panelcontroller doesn&#39;t always come up on the same screen as the panel (when I connect a screen with xrandr, the panel doens&#39;t move to it but the panelcontroller thinks it is on the 2nd screen).&nbsp; End result, I push the cashew on screen 1 and config bar comes up on screen 2.&nbsp; After I move the panel to either screen (after applying my patch) it works ok.&nbsp; Just the inital attach causes issues.<br>
<br>--- trunk/KDE/kdebase/workspace/plasma/plasma/panelcontroller.cpp.orig&nbsp;&nbsp;&nbsp; 2008-06-01 02:32:00.000000000 -0500<br>+++ trunk/KDE/kdebase/workspace/plasma/plasma/panelcontroller.cpp&nbsp;&nbsp;&nbsp; 2008-06-01 02:32:26.000000000 -0500<br>
@@ -670,6 +670,14 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!screenGeom.contains(event-&gt;globalPos())) {<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //move panel to new screen if dragged there<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QDesktopWidget *desktop = QApplication::desktop();<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int newScreen = desktop-&gt;screenNumber(event-&gt;globalPos());<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kDebug() &lt;&lt; &quot;Mouse drag left panel&#39;s screen&quot; &lt;&lt; d-&gt;containment-&gt;screen() &lt;&lt; &quot;to screen&quot; &lt;&lt; newScreen;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d-&gt;containment-&gt;setScreen(newScreen);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Plasma::FormFactor oldFormFactor = d-&gt;containment-&gt;formFactor();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Plasma::FormFactor newFormFactor = d-&gt;containment-&gt;formFactor();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const Plasma::Location oldLocation = d-&gt;containment-&gt;location();<br><br>