incorrect right strut is evaluated in fglrx Multi-Display setup
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Nux |
New
|
Undecided
|
Unassigned | ||
nux (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Hardware Configuration:
-------
CPU: Intel Core i7-2600K
ASIC: AMD Radeon HD 6870
OS: Ubuntu 12.04_64bit
Nux version: nux-2.14.1
Graphics Driver: latest fglrx
Issue:
-------
When 2 monitors are connected and set to Nx1 Landscape eyefinity mode provided by fglrx and open a whatever application, the application's title bar gets behind Unity's top panel due to inappropriate workarea is produced, which in turn is caused by an incorrect right strut specified by the launcher on the right monitor.
Unity config:
-------
Launchers on all desktops
Steps to reproduce:
-------
1.Plug in 2 monitors.
2.driver installed
3.aticonfig --initial -f
4. restart x
5. open AMDCCCLE, click Display Manager -->monitor 2 -->Multi-Display -->Multi-display desktop with display 1. And set the 2 monitors as 2x1 Landscape, then Apply.
6. open a terminal and enter "aticonfig --set-pcs-
7. restart x.
8. open any application such as Firefox Web Browser or terminal, then maximize it.
Expect to happen:
-------
The title bar of the newly opened app should be right below the top panel and right beside the launcher of the primary desk.
What happens actually:
-------
The application's title bar gets behind Unity's top panel and becomes unreachable.
GDB inspection on Compiz
-------
1. Launcher on the right-side monitor dictates a right strut so large that covers almost the entire screen;
2. PrivateScreen:
Dubious code:
-------
nux/NuxGraphics
{
/* right */
data[1] = (screenWidth - 1) - geometry_.y;
data[6] = geometry_.y;
data[7] = geometry_.y + geometry_.height - 1;
}
Wouldn't data[1] should be evaluated by (screenWidth - 1) - geometry_.x instead of (screenWidth - 1) - geometry_.y ?
Additional notes:
-------
After editing /usr/share/