All pastes #796011 Raw Edit

Stuff

public text v1 · immutable
#796011 ·published 2007-11-24 18:08 UTC
rendered paste body
Index: corona.cpp
===================================================================
--- corona.cpp  (revision 740936)
+++ corona.cpp  (working copy)
@@ -234,10 +234,25 @@
     int topLeftScreen = 0;
     QPoint topLeftCorner = desktop->screenGeometry(0).topLeft();

+    QHash<int, QRect> screenGeometries;
+    QRect g = desktop->screenGeometry(0);
+    for (int i = 1; i < numScreens; ++i) {
+        QRect g2 = desktop->screenGeometry(i);
+        kDebug() << "     screen" << i << "geometry is" << g2;
+        if (g2.intersects(g)) {
+            g = g.united(g2);
+        } else {
+            screenGeometries.insert(i - 1, g);
+            g = g2;
+        }
+    }
+    screenGeometries.insert(numScreens - 1, g);
+
     // create a containment for each screen
-    for (int i = 0; i < numScreens; ++i) {
-        QRect g = desktop->screenGeometry(i);
-        kDebug() << "     screen " << i << "geometry is" << g;
+    foreach (int i, screenGeometries.keys()) {
+        QRect g = screenGeometries[i];
+        kDebug() << "     screen" << i << "geometry is" << g;
+
         Containment* c = addContainment("desktop");
         c->setScreen(i);
         c->setFormFactor(Plasma::Planar);