I need help with the containments' coordinate system. Adjusting view sizes don't work as expected. Here is a commented log of plasma when I resize a screen from 1920x1200 to 1280x800 and then back to 1920x1200:
First resize: plasma(18904) PlasmaApp::screenResized: 0 QSize(1920, 1200) QSize(1280, 800) plasma(18904) PlasmaApp::screenResized: adjust size for screen 0 QSize(1280, 800) // kephal provided the signal with correct information and PlasmaApp starts adjusting the size, all right. plasma(18904) DesktopView::adjustSize: screen 0 geom QRect(1680,0 1280x800) // DesktopView::adjustSize also obtains correct information from kephal // geometry is correct as the screen I am resizing is on the right of a 1680x1050 screen. plasma(18904)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(1926,0 1280x800) associated screen is 0 // This starts being weird. Where is that 1926 coming from? That's the containment's sceneBoundingRect(), but why 1926? Note that at least the size is correct. plasma(18904) DesktopView::adjustSize: Containment's geom after resize QRectF(1926,0 1280x800) plasma(18904) DesktopView::adjustSize: Done 0 plasma(20038) PlasmaApp::screenResized: Done. // DesktopView::adjustSize exits, as well as PlasmaApp::screenResized. The containment was properly resized. plasma(18904)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(1926,0 1920x1200) associated screen is 0 // That is bad: ViewPrivate changed its mind and reverted to 1920x1200 size! Who requested the size change at that point? We are outside the control flow of PlasmaApp::screenResized And here is what happens when I change back to 1920x1200: plasma(18904) PlasmaApp::screenResized: 0 QSize(1280, 800) QSize(1920, 1200) plasma(18904) PlasmaApp::screenResized: adjust size for screen 0 QSize(1920, 1200) plasma(18904) DesktopView::adjustSize: screen 0 geom QRect(1680,0 1920x1200) plasma(18904) DesktopView::adjustSize: Containment's geom after resize QRectF(1926,0 1920x1200) plasma(18904) DesktopView::adjustSize: Done 0 plasma(20038) PlasmaApp::screenResized: Done. // All seems okay up to now except for the 1926 coordinate plasma(18904)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(1926,0 1280x800) associated screen is 0 // but here the size is not correct, and again, who requested the size change? Can somebody explain me what is going on? It seems the ViewPrivate is "one train late" on each resolution change. Regards, g _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel