Version: (using Devel) Compiler: gcc 4.3.2 OS: Linux Installed from: Compiled sources Please note, this is for 4.2.0 Beta1 (not SVN, but there is now option in the wizard to select 4.2.0 Beta1). I have a dual head configuration. When I initially logged in after upgrading from 4.1.3, I noticed that my panel had moved to the monitor on the right (it was on the left monitor when using 4.1.3). I was able to move the panel to the left monitor without any trouble, however whenever I select "panel settings" from the context menu or click on the panel's "cashew", the settings pops up on the right monitor (just above where the panel would be if it were on that monitor). This is rather inconvenient and annoying since I have to move my mouse a lot more, and I have to make sure that after clicking on one of the settings that I move my mouse "down then left" instead of "left then down" in order reach the panel without the settings window disappearing. According to the display settings, my right monitor is connected to "DVI-0" and the left monitor is connected to "DVI-1" (yeah, it sounds backwards, but the radeon and radeonhd drivers disagree about which output is which, and I never bothered to change it since kdm always pops up on the left monitor anyway). I'm guessing that the settings window has been somehow hard-coded to appear on the first display, but it would be much more convenient if it always appeared on the same display as the panel.
confirmed with trunk compiled some minutes ago (upcoming 4.2 beta2)
On my system; left screen: 1280x1024 right screen: 1024x768 If I right-click on my right screen and choose "Add Panel" following is printed to stdout. Result is, taht the panel is displayed at the right screen on top-horizontal but the same panel-height is also (as the panel continues there while being invisible) used at the left screen. ############################################################### # DefaultDesktop::addPanel() # Containment* panel = corona()->addContainment("panel"); ############################################################### plasma(24633)/libplasma Plasma::ContainmentPrivate::positionPanel: positioning non- horizontal panel; forced? false plasma(24633)/libplasma Plasma::ContainmentPrivate::positionPanel: moved to QPointF(11286, -41) plasma(24633)/libplasma Plasma::Applet::save: saving to "21" plasma(24633)/libplasma Plasma::ContainmentPrivate::containmentConstraintsEvent: got containmentConstraintsEvent 40 Plasma::PanelToolBox(0x8719618) plasma(24633)/libplasma Plasma::ContainmentPrivate::positionPanel: positioning non- horizontal panel; forced? false plasma(24633)/libplasma Plasma::ContainmentPrivate::positionPanel: moved to QPointF(11286, -41) plasma(24633) Panel::constraintsEvent: constraints updated with 40 !!!!!! plasma(24633) PlasmaApp::createView: Containment name: "Panel" | type 1 | screen: -1 | desktop: -1 | geometry: QRectF(11286,-41 1280x35) | zValue: 150 plasma(24633)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(11286,-41 1280x35) associated screen is -1 plasma(24633) PanelView::pinchContainment: **************************** pinching QRect(0,0 1280x1024) 1024 plasma(24633) PanelView::updatePanelGeometry: New panel geometry is QRectF(11286,-41 1280x35) plasma(24633) PanelView::updatePanelGeometry: PanelView(0x84f6de8) thinks its panel is at QRect(0,989 1280x35) was QRect(0,0 1152x409) plasma(24633) PanelView::pinchContainment: Done pinching, containement's geom QRectF(11286,-41 1280x35) own geom QRect(0,989 1280x35) plasma(24633) PanelView::PanelView: Panel geometry is QRectF(11286,-41 1280x35) plasma(24633) PanelView::updateStruts: screen l/r/b/t offsets are: 0 1024 0 0 0 plasma(24633) PanelView::updateStruts: screen l/r/b/t offsets are: 0 1024 0 0 0 plasma(24633) PanelView::resizeEvent: QSize(-1, -1) QSize(1280, 35) plasma(24633) PanelView::updateStruts: screen l/r/b/t offsets are: 0 1024 0 0 0 ############################################################### # DefaultDesktop::addPanel() # panel->setScreen(screen()); # panel->setLocation(Plasma::TopEdge); # panel->updateConstraints(Plasma::StartupCompletedConstraint); # panel->flushPendingConstraintsEvents(); ############################################################### plasma(24633)/libplasma Plasma::ContainmentPrivate::containmentConstraintsEvent: got containmentConstraintsEvent 38 Plasma::PanelToolBox(0x8719618) plasma(24633) Panel::constraintsEvent: constraints updated with 38 !!!!!! plasma(24633)/libplasma Plasma::ContainmentPrivate::positionPanel: positioning horizontal panel; forced? true plasma(24633)/libplasma Plasma::ContainmentPrivate::positionPanel: moved to QPointF(0, -117) plasma(24633)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(0,-117 1280x35) associated screen is 1 plasma(24633) PanelView::updatePanelGeometry: New panel geometry is QRectF(0,-117 1280x35) plasma(24633) PanelView::updatePanelGeometry: PanelView(0x84f6de8) thinks its panel is at QRect(1279,0 1024x35) was QRect(0,989 1280x35) plasma(24633) PanelView::updateStruts: screen l/r/b/t offsets are: -1280 0 256 0 3 plasma(24633) PanelView::resizeEvent: QSize(1280, 35) QSize(1024, 35) plasma(24633) PanelView::updateStruts: screen l/r/b/t offsets are: -1280 0 256 0 3 plasma(24633)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(0,-117 1280x35) associated screen is 1 plasma(24633) PanelView::updatePanelGeometry: New panel geometry is QRectF(0,-117 1280x35) plasma(24633) PanelView::updatePanelGeometry: PanelView(0x84f6de8) thinks its panel is at QRect(1279,0 1024x35) was QRect(1279,0 1024x35) plasma(24633) PanelView::updateStruts: screen l/r/b/t offsets are: -1280 0 256 0 3 plasma(24633)/libplasma Plasma::ContainmentPrivate::containmentConstraintsEvent: got containmentConstraintsEvent 1 Plasma::PanelToolBox(0x8719618) plasma(24633) Panel::constraintsEvent: constraints updated with 1 !!!!!! plasma(24633) Panel::constraintsEvent: constraints updated with 2 !!!!!!
looks as we first add it to screen -1 (becomes 0) to the left screen (using the corona()->addContainment("panel")) and then move it to the right screen (to bad corona()->addContainmentDelayed() is protected rather then public what would allow us to do that in one go). looks as the move is successful but; 1. somehow the width isn't correct/updated cause it's still to much and 2. seems the left screen still does reserve space. Both can be fixed by choosing "panel settings=>align center" and then the change seems to apply correct :)
the above "trick" with "panel settings=>align center" does btw also fix the original case described in this bugreport. So, it's the same issue but the way I described above is just easier to reproduce for me. More tomorrow cause it's time to drive home and catch sleep. Good night, good fight :)
*** Bug 158404 has been marked as a duplicate of this bug. ***
the "align center" trick should no more be necessary by commit 897648 i can't reproduce the creation on different screen (but here is on twinview) the two things are quite separate issues btw
Just adding my "I'm seeing it also" for the stuff reported in 158404 and 158405, i.e. the panel on top hides the cashew for the desktop.
When I use dual head, windows in maximize mode, just after running the program, on the second display, where no task bar of whichever panel is, are opened as if it was there. If I click on maximize then - everything works correctly. The window takes the whole screen.
i count a few different issues here, with the original one apparently fixed. the other issues are either already reported or belong (in the ase of #8) to kwin.