Duplicated panels using separate x screens

Bug #1083811 reported by Alberts Muktupāvels
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
GNOME Panel
Fix Released
Medium
gnome-panel (Ubuntu)
Fix Released
Low
Alberts Muktupāvels
Precise
Fix Released
Undecided
Unassigned

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.

Changed in gnome-panel (Ubuntu):
assignee: nobody → Alberts Muktupāvels (albertsmuktupavels)
description: updated
Revision history for this message
Jeremy Bícha (jbicha) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. The issue you are reporting is an upstream one and it would be nice if somebody having it could send the bug to the developers of the software by following the instructions at https://wiki.ubuntu.com/Bugs/Upstream/GNOME. If you have done so, please tell us the number of the upstream bug (or the link), so we can add a bugwatch that will inform us about its status. Thanks in advance.

Changed in gnome-panel (Ubuntu):
importance: Undecided → Low
Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Usually upstream bug reports are added as bug watches to the bug:
* click "Also affects project"
* correct (gnome) is pre-selected & simply paste the link to the upstream bug report.

This is for future reference, I added the bug watch now.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-panel - 1:3.6.2-0ubuntu3

---------------
gnome-panel (1:3.6.2-0ubuntu3) raring; urgency=low

  [ Alberts Muktupāvels ]
  * debian/patches/fix-for-1083811.patch:
    + Don't set screen to default screen when it exist. (LP: #1083811)
    + Set screen for menu, otherwise menu always appears on first screen.
 -- Iain Lane <email address hidden> Tue, 18 Dec 2012 13:22:53 +0000

Changed in gnome-panel (Ubuntu):
status: New → Fix Released
Changed in gnome-panel:
importance: Unknown → Medium
status: Unknown → New
Changed in gnome-panel:
status: New → Fix Released
Revision history for this message
Ifrah Saeed (sunnn-4) wrote :

I have installed gnome desktop (apt-get install gnome) and now I am getting the same problem. If its fixed how to get the fixed version?

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

Which version of gnome-panel you are using? (apt-cache policy gnome-panel)

Revision history for this message
Ifrah Saeed (sunnn-4) wrote :

gnome-panel:
  Installed: 1:3.4.1-0ubuntu1.1
  Candidate: 1:3.4.1-0ubuntu1.1
  Version table:
 *** 1:3.4.1-0ubuntu1.1 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe amd64 Packages
        100 /var/lib/dpkg/status
     1:3.4.1-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :
Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :
Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

Download last two packages I attached - gnome-panel_3.4.1-0ubuntu2_amd64.deb and gnome-panel-data_3.4.1-0ubuntu2_all.deb. Than install - sudo dpkg -i gnome-panel*.deb.

I build packages special for ubuntu 12.04 (precise, amd64). Atfer you will install these packages gnome-panel should work fine with separate x screens. :)

Revision history for this message
Ifrah Saeed (sunnn-4) wrote :

It worked!!! Thanks a lot for your time and effort you put in :)

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Uploaded to precise-proposed. Please add the SRU information fields before it can be accepted: <https://wiki.ubuntu.com/StableReleaseUpdates#Procedure>.

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

Where should I add SRU information fields? In this bug description?

description: updated
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Alberts, or anyone else affected,

Accepted gnome-panel into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/gnome-panel/1:3.4.1-0ubuntu1.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in gnome-panel (Ubuntu Precise):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

*) First I tried with my laptop, but I was not able to set up separate x screens. Found old message saying that intel does not support separate x screens - http://lists.x.org/archives/xorg-devel/2009-October/002447.html. Updated gnome-panel to version in proposed. Seems that with single screen gnome-panel still works ok, did not see any regression.

*) Installed 12.04 on flash drive. Updated all packages, installed gnome-panel, nvidia drivers. Tested gnome-panel before enabling proposed. Gnome panel did not work correctly with separate x screens. Enabled proposed and upgraded gnome-panel. I can confirm that this bug is fixed.

---------------------------

*) But there is two other bugs that should be fixed in my opinion:

1) White screen/background bug. I have proposed fix for that - https://code.launchpad.net/~albertsmuktupavels/nautilus/white-screen-fix-precise/+merge/180232

2) Someone should backport fix for this bug - https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1068920.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-panel - 1:3.4.1-0ubuntu1.2

---------------
gnome-panel (1:3.4.1-0ubuntu1.2) precise-proposed; urgency=low

  * Fix gnome-panel creation when using separate x screens. (LP: #1083811)
    - Backport 91-fix_panels_in_separate_screens.patch and
      93_use_correct_screen.patch from Saucy.
 -- Alberts Muktupavels <email address hidden> Tue, 30 Jul 2013 00:40:19 +0300

Changed in gnome-panel (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.