Fixing the position of the panels (the launcher is also a panel
internally) is easy enough: instead of using moveLeft(m_delta) and
moveTop(m_delta), the computation of the geometry should add up m_delta
to the x/y coordinate, depending on the edge of the panel.

However reserving the struts correctly is slightly more complicated:
struts always live at the edge of a screen, so in the case described
above, if the panel shows up on the screen on the left, the top strut
for it should be screen.y() + panel.height(). But when doing so, the
subsequent calculations of the destkop’s available geometry always
return a null rectangle, and therefore the other panels (like the
launcher) never show up. The computation of the desktop’s available
geometry uses _NET_WORKAREA, which on my setup completely excludes the
leftmost part of the virtual desktop that contains the first screen.

** Changed in: unity-2d
       Status: Confirmed => In Progress

** Changed in: unity-2d
     Assignee: (unassigned) => Olivier Tilloy (osomon)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/735937

Title:
  The Unity panel stays on the top of the "virtual monitor", even when
  there's no actual monitor covering that portion of the screen

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to