unity-2d on multi-monitor system has many problems

Bug #681101 reported by Joshua R. Poulson
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
unity-2d
Fix Released
Critical
Olivier Tilloy

Bug Description

1) the launcher did not appear on either monitor

2) top panel appeared on the left-most monitor instead of the primary display

3) launched applications did not have their menus appear properly at the top of the screen

Revision history for this message
Florian Boucault (fboucault) wrote :

Thanks for the bug report Josh.
Would it be possible for you to attach a screenshot? (especially for point 3)

description: updated
Revision history for this message
Ugo Riboni (uriboni) wrote :

FYI, issue 2 seems to be a problem in Unity too. Quoting from code in unity/targets/mutter/plugin.vala :

      /* FIXME: This needs to always be monitor 0 right now as it doesn't
       * seem possible to have panels on a vertical edge of a monitor unless
       * it's the first or last monitor :(
       */
      screen.get_monitor_geometry (0, // Should be screen.get_primary_monitor()
                                   out primary_monitor);

Changed in upicek:
status: New → Confirmed
importance: Undecided → High
milestone: none → m4
Changed in upicek:
assignee: nobody → Aurélien Gâteau (agateau)
Revision history for this message
Florian Boucault (fboucault) wrote :

An interesting read we may be inspired by:

https://bugs.launchpad.net/ayatana-design/+bug/683084

Revision history for this message
Mark Shuttleworth (sabdfl) wrote : Re: [Bug 681101] Re: unity-qt on multi-monitor system has many problems

Yes, we should definitely only have one approach to the problem :-)

Changed in upicek:
assignee: Aurélien Gâteau (agateau) → Olivier Tilloy (osomon)
Olivier Tilloy (osomon)
description: updated
Revision history for this message
Olivier Tilloy (osomon) wrote : Re: unity-qt on multi-monitor system has many problems

I can reliably reproduce points 1 and 2 in the bug description.

Note that regarding the first issue, the launcher is running, but it’s not visible on any monitor. If one launches manually another instance of unity-qt-launcher, it appears at the left of the leftmost monitor instead of the primary display.

As to points 2 and 3, according to the specification (https://wiki.ubuntu.com/MenuBar#Presence), the panel (aka the "menu bar") should appear at the top of every screen, except those screens where a window is currently in full-screen mode.

Olivier Tilloy (osomon)
Changed in upicek:
status: Confirmed → In Progress
Changed in upicek:
milestone: 0.4 → 0.6
summary: - unity-qt on multi-monitor system has many problems
+ unity-2d on multi-monitor system has many problems
affects: upicek → unity-2d
Changed in unity-2d:
milestone: 0.6 → none
milestone: none → 3.4
visibility: private → public
Changed in unity-2d:
milestone: 3.4 → 3.6
Revision history for this message
Florian Boucault (fboucault) wrote :

Unity related metabug: https://bugs.launchpad.net/unity/+bug/661450 "Support for multiple monitors broken"

Revision history for this message
Florian Boucault (fboucault) wrote :

Fixes for panel and launcher placement are going to land soon in trunk. Mostly it's about having the same code path used in both cases and cleaning it up a little bit. It does not take into account the multi monitor case mostly because the struts are badly set.

"Struts MUST be specified in root window coordinates, that is, they are not relative to the edges of any view port or Xinerama monitor.
[...]
 Another example is a panel on a screen using the Xinerama extension. Assume that the set up uses two monitors, one running at 1280x1024 and the other to the right running at 1024x768, with the top edge of the two physical displays aligned. If the panel wants to fill the entire bottom edge of the smaller display with a panel 50 pixels tall, it should set a bottom strut of 306, with bottom_start_x of 1280, and bottom_end_x of 2303. Note that the strut is relative to the screen edge, and not the edge of the xinerama monitor.
"
from http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html paragraph _NET_WM_STRUT_PARTIAL

Changed in unity-2d:
milestone: 3.6 → 3.8
Revision history for this message
Florian Boucault (fboucault) wrote :

https://bugs.launchpad.net/bugs/726680 is a new addition to the multi monitor problem.

Changed in unity-2d:
milestone: 3.8 → 3.10
Revision history for this message
Olivier Tilloy (osomon) wrote :

Also see bug #735937.

Olivier Tilloy (osomon)
Changed in unity-2d:
status: In Progress → Confirmed
Bill Filler (bfiller)
Changed in unity-2d:
importance: High → Critical
Revision history for this message
Bill Filler (bfiller) wrote :

based on discussion with Olivier today, the goal is the following:
1) get mirroring working first (i.e. all screens showing exact same thing launcher/panel, etc.). This is a must have.

2) analyze effort to get extended mode working (i.e. external monitor just displays blank desktop where you can drag windows to)

Revision history for this message
Olivier Tilloy (osomon) wrote :

I just tested a live CD of the latest version of Unity. When I plug in an external monitor, the default behaviour is *not* mirroring, it extends the desktop to the second monitor. The launcher is present only on the primary screen. Each screen displays an instance of the panel. The applications menus will be displayed in the panel of the screen that contains the largest part of the corresponding window. The dash always shows up on the primary screen, regardless of where the mouse cursor is when invoked.

Now testing Unity-2d, when I plug in an external monitor, the default behaviour is consistent with Unity: the desktop extends to the second monitor. However the second screen doesn’t have a second instance of the panel. This is the only discrepancy I can observe. The other components behave the same.

Now for the mirroring use case: it just works out of the box, as it’s handled lower down the stack.

To sum things up: at the moment the only discrepancy we have with Unity is the lack of a panel on each screen when in "extended desktop" mode.

Revision history for this message
Florian Boucault (fboucault) wrote :

The problems reported in the description of this bug are actually fixed.

The last issue we want to tackle (displaying one panel per monitor) is tracked by bug #683084

Changed in unity-2d:
milestone: 3.10 → 3.8
status: Confirmed → Fix Released
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.