** Description changed: I'm trying to use separate x screens on nvidia card with 3 monitors. I'm expecting one top panel + one bottom panel on each screen, but instead i have got all panels on one screen. Restarting gnome panel (gnome-panel --replace) it will create two extra (blank) panel pairs on same screen, but new applets will be added on first panel pair. Screenshot ilustrating problem can be found here - http://askubuntu.com/questions/177226/duplicated-menu-panel-indicators- and-taskbar I tried to manualy set screen key (org->gnome->gnome- panel->layout->toplevels->top-panel->screen) on wich screen panel should appear with dconf Editor. But restarting gnome-panel that key will be reseted. Downloaded gnome-panel source code (apt-get source gnome-panel), spend some time trying to find problem, and probably i found it in file panel- toplevel.c. Line 4458: if (!screen || GDK_IS_SCREEN (screen)) Line 4459: screen = gdk_screen_get_default (); These lines are responsible for resetting screen key. It will reset screen to default if currenct screen exist, but its not what we want. We want reset screen to default if screen dosnt exist, so line 4458 should be - if (!screen || !GDK_IS_SCREEN (screen)) After compiling and installing new package, gnome panel works as expected. + + [Impact] + + This bug is important for me and from time to time I see bugs where + people write that there is problem with separate x screens. This is one + of the problems. + + I have made working fix and It would be nice if it is included in our + current LTS release. + + First part of fix is simple. It was missing ! in if statement. This fix + is included already in raring and in saucy. + + Second part is fix for unique id generation for gnome-panels. Now id is + generated with screen number included in its name. It is required to set + objects to correct panel. + + [Test Case] + + * To reproduce the bug you need at least two monitors. Than you need + configure x to use each monitor as separate x screen. + + * When you will login gnome-panels will be created on first screen. So + if you have 2 screens than on first screen will be 4 panels (2 top and 2 + bottom). If you have 3 screens than on first screen will be 6 panels (3 + top and 2 bottom) + + * It is posilbe to change panels settings, changing screen setting to + correct screen would allow to put gnome-panel on correct screen. Bet it + will be rest next time gnome-panels starts. + + [Regression Potential] + + * There is not any regression potential I can think of. It simply fix + probably typo bug now allowing gnome panels to be created on correct + screens. Gnome panel generates new id only when creating new panel, so + it should not affect exsisting gnome panels. + + * I am using fixed gnome panel. In this bug report is one user who have + confirmed that this works.
-- You received this bug notification because you are a member of Desktop Packages, which is subscribed to gnome-panel in Ubuntu. https://bugs.launchpad.net/bugs/1083811 Title: Duplicated panels using separate x screens Status in Desktop panel for GNOME: Fix Released Status in “gnome-panel” package in Ubuntu: Fix Released Status in “gnome-panel” source package in Precise: New Bug description: I'm trying to use separate x screens on nvidia card with 3 monitors. I'm expecting one top panel + one bottom panel on each screen, but instead i have got all panels on one screen. Restarting gnome panel (gnome-panel --replace) it will create two extra (blank) panel pairs on same screen, but new applets will be added on first panel pair. Screenshot ilustrating problem can be found here - http://askubuntu.com/questions/177226/duplicated-menu-panel- indicators-and-taskbar I tried to manualy set screen key (org->gnome->gnome- panel->layout->toplevels->top-panel->screen) on wich screen panel should appear with dconf Editor. But restarting gnome-panel that key will be reseted. Downloaded gnome-panel source code (apt-get source gnome-panel), spend some time trying to find problem, and probably i found it in file panel-toplevel.c. Line 4458: if (!screen || GDK_IS_SCREEN (screen)) Line 4459: screen = gdk_screen_get_default (); These lines are responsible for resetting screen key. It will reset screen to default if currenct screen exist, but its not what we want. We want reset screen to default if screen dosnt exist, so line 4458 should be - if (!screen || !GDK_IS_SCREEN (screen)) After compiling and installing new package, gnome panel works as expected. [Impact] This bug is important for me and from time to time I see bugs where people write that there is problem with separate x screens. This is one of the problems. I have made working fix and It would be nice if it is included in our current LTS release. First part of fix is simple. It was missing ! in if statement. This fix is included already in raring and in saucy. Second part is fix for unique id generation for gnome-panels. Now id is generated with screen number included in its name. It is required to set objects to correct panel. [Test Case] * To reproduce the bug you need at least two monitors. Than you need configure x to use each monitor as separate x screen. * When you will login gnome-panels will be created on first screen. So if you have 2 screens than on first screen will be 4 panels (2 top and 2 bottom). If you have 3 screens than on first screen will be 6 panels (3 top and 2 bottom) * It is posilbe to change panels settings, changing screen setting to correct screen would allow to put gnome-panel on correct screen. Bet it will be rest next time gnome-panels starts. [Regression Potential] * There is not any regression potential I can think of. It simply fix probably typo bug now allowing gnome panels to be created on correct screens. Gnome panel generates new id only when creating new panel, so it should not affect exsisting gnome panels. * I am using fixed gnome panel. In this bug report is one user who have confirmed that this works. To manage notifications about this bug go to: https://bugs.launchpad.net/gnome-panel/+bug/1083811/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp