rendered paste bodyIndex: 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);