Top panel isn't multimonitor aware

Bug #675862 reported by Jorge Castro on 2010-11-16
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Fix Released
Mathieu Trudel-Lapierre
unity (Ubuntu)

Bug Description

Running trunk nux/compiz from 2010-11-15, the top panel spans over 2 monitors instead of just being on the primary monitor.

Related branches

Sam Spilsbury (community): Needs Fixing on 2011-02-22
Alex Launi (community): Approve on 2011-02-22
Sam Spilsbury (community): Approve on 2011-02-24
Jorge Castro (jorge) wrote :
Didier Roche (didrocks) on 2010-11-16
Changed in unity:
status: New → Triaged
importance: Undecided → High
Changed in unity (Ubuntu):
status: New → Triaged
importance: Undecided → High
Jamal Fanaian (jamalta) on 2010-11-23
tags: added: unity-compiz
Neil J. Patel (njpatel) on 2010-12-01
Changed in unity:
assignee: nobody → Neil J. Patel (njpatel)
milestone: none → 3.2.6
Neil J. Patel (njpatel) on 2010-12-09
Changed in unity:
milestone: 3.2.6 → 3.2.8
kyleabaker (kyleabaker) wrote :

Spanning across both monitors actually works great for me and I wouldn't want to see my second monitor lose this panel. If its going to be moved to one by default, could there be a preference to span both/all as well?

Ideally, it seems to me that the panel should take on the task of displaying menu systems for each monitor for a consistent feel across both if it is enabled to span across more than just the primary monitor. This would also allow for consistency among maximized windows in secondary monitors. Otherwise, windows in a secondary monitor would just behave differently than those in the primary window when maximized without a panel above them since they won't merge with a top panel in the same way.

Menu Mockup:

Neil J. Patel (njpatel) wrote :

Brain dump of the implementation I'd like to see in Unity while the dual-screen UX semantics are being worked out:

- unity.cpp needs to have a Relayout() function that grabs the default GdkScreen, get's the GdkRectangle of the primary monitor (we want to try and match the rest of the desktop here), and then reposition & resize the panel's BaseWindow (m_panel_window, I believe) to match the x, y and width of the primary monitor.

- unity.cpp, on initialization, should get the default GdkScreen and connect to it's "monitors-changed" and "size-changed" signals and make the callbacks of those call the Relayout() function. It should also call the Relayout() function once the panel/launcher etc have been created for the first time.

Jorge Castro (jorge) wrote :

Hi Kyle,

You want to look at this bug:

That's where the discussion on what to do with multiple panels and the menu comes in. This bug will be about how to fix the current panel to not stretch all the way across.

tags: added: bitesize
Neil J. Patel (njpatel) on 2010-12-17
Changed in unity:
milestone: 3.2.8 → 3.2.12

I'm looking at this now, based on the brain dump from Neil. WIP :)

Changed in unity:
assignee: Neil J. Patel (njpatel) → Mathieu Trudel-Lapierre (mathieu-tl)
status: Triaged → In Progress
Neil J. Patel (njpatel) on 2011-01-18
Changed in unity:
milestone: 3.2.12 → 3.2.16
Neil J. Patel (njpatel) on 2011-01-27
Changed in unity:
milestone: 3.2.16 → 3.6

I got this to mostly work last night, with the exception of glitches in redrawing for some specific resolution changes (e.g. 800x600), or moving the primary monitor from sticking to the bottom of the whole GdkScreen to stick to the top (gets black rectangles across the desktop for the delta between monitor sizes)

Didier Roche (didrocks) on 2011-02-21
Changed in unity (Ubuntu):
status: Triaged → In Progress
Didier Roche (didrocks) on 2011-03-01
Changed in unity:
milestone: 3.6 → 3.6.2
Tomick (tomick) wrote :

Well, for me after update to 3.6 looks like to be fixed. I have nvidia binary driver.

Yup, this has been merged into Unity, so marking Fix Released.

Changed in unity:
status: In Progress → Fix Released
Changed in unity (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers