Top panel isn't multimonitor aware

Bug #675862 reported by Jorge Castro
82
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
High
Mathieu Trudel-Lapierre
unity (Ubuntu)
Fix Released
High
Unassigned

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

Revision history for this message
Jorge Castro (jorge) wrote :
Changed in unity:
status: New → Triaged
importance: Undecided → High
Changed in unity (Ubuntu):
status: New → Triaged
importance: Undecided → High
Jamal Fanaian (jamalta)
tags: added: unity-compiz
Neil J. Patel (njpatel)
Changed in unity:
assignee: nobody → Neil J. Patel (njpatel)
milestone: none → 3.2.6
Neil J. Patel (njpatel)
Changed in unity:
milestone: 3.2.6 → 3.2.8
Revision history for this message
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:
http://img337.imageshack.us/img337/4793/screenshot2kg.png

Revision history for this message
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.

Revision history for this message
Jorge Castro (jorge) wrote :

Hi Kyle,

You want to look at this bug: https://bugs.launchpad.net/unity/+bug/683084

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)
Changed in unity:
milestone: 3.2.8 → 3.2.12
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

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)
Changed in unity:
milestone: 3.2.12 → 3.2.16
Neil J. Patel (njpatel)
Changed in unity:
milestone: 3.2.16 → 3.6
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

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)

Changed in unity (Ubuntu):
status: Triaged → In Progress
Changed in unity:
milestone: 3.6 → 3.6.2
Revision history for this message
Tomick (tomick) wrote :

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

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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