After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 661387 - Nvidia Twinview + Notification area location
Nvidia Twinview + Notification area location
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: message-tray
3.2.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-10-10 16:04 UTC by Janick Martinez Esturo
Modified: 2011-10-11 14:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Image of the message tray on the wrong monitor (885.32 KB, image/png)
2011-10-10 16:56 UTC, Janick Martinez Esturo
  Details
layoutManager: Ignore 1px overlap in _isAboveOrBelowPrimary() (1.34 KB, patch)
2011-10-10 17:31 UTC, Florian Müllner
none Details | Review
layoutManager: Ignore 1px overlap in _isAboveOrBelowPrimary() (1.52 KB, patch)
2011-10-10 20:48 UTC, Florian Müllner
committed Details | Review

Description Janick Martinez Esturo 2011-10-10 16:04:01 UTC
I have a multimonitor setup using nvidia proprietary drivers and Twinview with the Primari monitor *right of* a secondary monitor on the left (one big Virtual screen).
In Gnome 3.0 I had the notification area on the bottom of the primary monitor.
Now, with Gnome 3.2, the notification area shows up on the secondary monitor on the right.
Is this intended? Or is there a possible way of configuring the monitor where to place the notifications? I would prefer to have them on the primary monitor, it is annoying to have them pop up on my left monitor.

Greets J
Comment 1 Florian Müllner 2011-10-10 16:19:35 UTC
Mmh, the intention is to move the message tray off the primary monitor if (and only if) there's a monitor stacked below. For horizontally stacked monitors, both the top bar and the message tray are supposed to be on the primary monitor - are you sure the monitor areas don't overlap?
(It's probably also important to note that nvidia's twinview is as non-standard as it gets - it's no coincidence that it requires a dedicated tool instead of the System Settings panel used for every other graphics driver ...)
Comment 2 Janick Martinez Esturo 2011-10-10 16:27:32 UTC
(In reply to comment #1)
> Mmh, the intention is to move the message tray off the primary monitor if (and
> only if) there's a monitor stacked below. For horizontally stacked monitors,
> both the top bar and the message tray are supposed to be on the primary monitor
> - are you sure the monitor areas don't overlap?
> (It's probably also important to note that nvidia's twinview is as non-standard
> as it gets - it's no coincidence that it requires a dedicated tool instead of
> the System Settings panel used for every other graphics driver ...)

The stacking seems to be a nice idea. As I said, I used this configuration on 3.0 just fine but the behavior started with 3.2. The twinview screen appears as a big 3200x1200 screen in the "Displays" configuration panel, but I don't think that they overlap. I know that the twinview config is non-standard but I need to use their drivers as I require its CUDA support. I was not able to setup a multiscreen environment without twinview (I guess its because NVIDIA does not implement the XRandR extension correctly, or does it work with newer xorg-server-1.11 already?).

An interesting detail is that, when I hit the *Activities* button the primary monitor shows all the different workspaces but the secondary does only show an overview of its own windows without multiple workspaces. I think this is intended and it shows, that there is a logical distinction between both monitors. However, I think it is a bug that the message tray is not rendered on the primary monitor.

Btw. I'm running Gentoo here, but I have the exact same problem on Arch Linux with the same drivers, too.
Comment 3 Janick Martinez Esturo 2011-10-10 16:56:06 UTC
Created attachment 198724 [details]
Image of the message tray on the wrong monitor
Comment 4 Florian Müllner 2011-10-10 16:57:49 UTC
(In reply to comment #2)
> An interesting detail is that, when I hit the *Activities* button the primary
> monitor shows all the different workspaces but the secondary does only show an
> overview of its own windows without multiple workspaces. I think this is
> intended and it shows, that there is a logical distinction between both
> monitors.

Yes.


> However, I think it is a bug that the message tray is not rendered on
> the primary monitor.

As mentioned, this is the intention unless monitors are stacked vertically. Can you start looking glass (alt-f2, enter 'lg') and get the values for:

Main.layoutManager.primaryMonitor.x
Main.layoutManager.primaryMonitor.y
Main.layoutManager.primaryMonitor.width
Main.layoutManager.primaryMonitor.height

Main.layoutManager.bottomMonitor.x
Main.layoutManager.bottomMonitor.y
Main.layoutManager.bottomMonitor.width
Main.layoutManager.bottomMonitor.height
Comment 5 Janick Martinez Esturo 2011-10-10 17:08:36 UTC
Its

Main.layoutManager.primaryMonitor.x        = 1280
Main.layoutManager.primaryMonitor.y        = 0
Main.layoutManager.primaryMonitor.width    = 1920
Main.layoutManager.primaryMonitor.height   = 1200

Main.layoutManager.bottomMonitor.x         = 0
Main.layoutManager.bottomMonitor.y         = 176
Main.layoutManager.bottomMonitor.width     = 1280
Main.layoutManager.bottomMonitor.height    = 1024

My (supposed to be) primary monitor on the right has a resolution of 1920x1200 and the smaller monitor on the left has 1280x1024. In twinview both are configured to line up at the bottom (see my screenshot).

I just realized that when configuring both monitors to line up at the upper border the problem disappears and the message bar is correctly shown on my bigger monitor. Does this help? Maybe I can stay with this lining up at the upper border until this issue is fixed in a newer version.
Comment 6 Janick Martinez Esturo 2011-10-10 17:13:01 UTC
Uh weird, now I noticed, with the lining up at the upper side, my run dialog (alt+F2) appears on the wrong, small right screen, which is annoying too..
Comment 7 Janick Martinez Esturo 2011-10-10 17:14:01 UTC
Oh no, I realized that the dialog appears on the screen where the current window is active, so this is correct =)
Comment 8 Florian Müllner 2011-10-10 17:31:15 UTC
Created attachment 198727 [details] [review]
layoutManager: Ignore 1px overlap in _isAboveOrBelowPrimary()

Nvidia's twin view option does not align monitors properly, but with
a one pixel overlap. It looks safe to ignore an overlap this small
to make this case work.


I don't have an Nvidia card, so can't test this myself - can you please give it a try?
Comment 9 Janick Martinez Esturo 2011-10-10 20:25:43 UTC
No, your patch did not work.
However, I came up with this version that solves the problem with the single
pixel overlay:

        if ((monitorLeft  >= primaryLeft && monitorLeft  <= primaryRight) ||
            (monitorRight > primaryLeft  && monitorRight <= primaryRight) ||
            (primaryLeft  >= monitorLeft && primaryLeft  < monitorRight)  ||
            (primaryRight >= monitorLeft && primaryRight <= monitorRight))
            return true;

Now everything is working great! ;D
Is is possible that this will make its way into the next version?
Comment 10 Florian Müllner 2011-10-10 20:48:41 UTC
Created attachment 198736 [details] [review]
layoutManager: Ignore 1px overlap in _isAboveOrBelowPrimary()

Ignore overlap on either side
Comment 11 Janick Martinez Esturo 2011-10-11 07:02:34 UTC
Your patch is working great, thanks!
Comment 12 drago01 2011-10-11 14:16:25 UTC
Review of attachment 198736 [details] [review]:

Makes sense and given that it works ... fine.
Comment 13 Florian Müllner 2011-10-11 14:21:19 UTC
Attachment 198736 [details] pushed as 1a8d782 - layoutManager: Ignore 1px overlap in _isAboveOrBelowPrimary()