Thanks for your support, I will try this patch soon, thank you Regards David
-----Original Message----- From: boun...@canonical.com [mailto:boun...@canonical.com] On Behalf Of Jammy Zhou Sent: Monday, February 27, 2012 6:18 PM To: Zhang, David1 Subject: [Bug 884564] Re: libnux set a wrong rect region when dual-desktop seta vertical overlap. @Jay IMHO, the simplest fix for this issue is attached to use bottom monitor info to set strut for the panel on bottom monitor. Please check if you can apply this change. Thx! --- XInputWindow.cpp.orig 2012-02-27 18:11:50.784664537 +0800 +++ XInputWindow.cpp 2012-02-27 18:10:27.673351686 +0800 @@ -141,7 +141,7 @@ int width = intersection->extents.x2 - intersection->extents.x1; int height = intersection->extents.y2 - intersection->extents.y1; - if ((width * height) > (largestWidth * largestHeight)) + if ((width * height) >= (largestWidth * largestHeight)) { largestWidth = width; largestHeight = height; -- You received this bug notification because you are subscribed to the bug report. https://bugs.launchpad.net/bugs/884564 Title: libnux set a wrong rect region when dual-desktop set a vertical overlap. Status in Nux: Triaged Status in Unity: Triaged Status in “nux” package in Ubuntu: Triaged Bug description: I have a 2 monitors and create a external desktop environment, and the external panel stacked vertically above the primary panel. following is some information about xrandr -q DFP1 disconnected (normal left inverted right x axis y axis) DFP2 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm 1920x1200 60.0*+ 1920x1080 60.0 1600x1200 60.0 DFP5 disconnected (normal left inverted right x axis y axis) DFP6 connected 1920x1200+0+1200 (normal left inverted right x axis y axis) 582mm x 364mm 1920x1200 60.0*+ 1920x1080 60.0 1600x1200 60.0 So the primary panel locate at (0,0) while the external locate at (0,1200), and the unity task bar locate at the bottom of the primary display. The I want to set the two panel vertical overlapped a small area( reset the position of the external display to(0, 1160) ). use the command: xrandr --output DFP6 --pos 0x1160 The issue observed, and I also found that the issue observed only in the vertical overlap size bigger than the taskbar height(default is 24 pix), if I set the overlap use command: xrandr --output DFP6 --pos 0x1180, every thing is OK. I have founded the problem in libnux, in the file ./nux-1.14.0/nuxgraphics/XInputWindow.cpp, XInputWindow::SetStruts, line 144 if we set a overlap, and the vertical overlapped size larger than 24 pix, the external monitor information will be skipped to set, and then configure the task bar region a wrong position and a wrong big area. all the window and icons can't move to this area. In gome2.x there also such problem, you can found the bug in gnome-panel-2.x, https://bugs.launchpad.net/ubuntu/+source/gnome-panel/+bug/884087 ProblemType: Bug DistroRelease: Ubuntu 11.10 Package: evince 3.2.0-0ubuntu1 ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4 Uname: Linux 3.0.0-12-generic x86_64 NonfreeKernelModules: fglrx ApportVersion: 1.23-0ubuntu3 Architecture: amd64 Date: Tue Nov 1 10:06:32 2011 InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012) ProcEnviron: PATH=(custom, no user) LANG=en_US.UTF-8 SHELL=/bin/bash SourcePackage: evince UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/nux/+bug/884564/+subscriptions -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/884564 Title: libnux set a wrong rect region when dual-desktop set a vertical overlap. To manage notifications about this bug go to: https://bugs.launchpad.net/nux/+bug/884564/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs