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 622655 - notification bar not optimal when using a dual head setup.
notification bar not optimal when using a dual head setup.
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: Florian Müllner
gnome-shell-maint
: 622656 622657 651456 (view as bug list)
Depends on:
Blocks: 645023
 
 
Reported: 2010-06-24 20:16 UTC by Sri Ramkrishna
Modified: 2011-05-30 11:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add pointer barriers to panel and message tray (6.02 KB, patch)
2011-03-18 12:33 UTC, Alexander Larsson
none Details | Review
Add pointer barriers to panel and message tray (5.97 KB, patch)
2011-03-18 13:20 UTC, Alexander Larsson
none Details | Review
Xorg fix for pointer barriers (702 bytes, patch)
2011-03-21 15:33 UTC, Alexander Larsson
none Details | Review
Add pointer barriers to panel and message tray (5.93 KB, patch)
2011-03-21 15:45 UTC, Alexander Larsson
reviewed Details | Review
Add pointer barriers to panel and message tray (5.97 KB, patch)
2011-03-21 20:04 UTC, Florian Müllner
committed Details | Review

Description Sri Ramkrishna 2010-06-24 20:16:37 UTC
I have a dual head setup and I'm running gnome-shell from jhbuild.  The hot corner used to bring up the notification bar is on the bottom right of the first monitor.  Unfortunately, it requires some dexterity in order to bring up the bookmarks due to the fact that I have a second monitor.

I'm not sure what is the optimal solution here.  If you used the left hand side, that would work for some users or on the other side or you'll need to rethink how the notification bar is activated.  The older iterations had the notification bar come up automatically when the pointer hit the bottom of the window.

sri
Comment 1 Frederic Peters 2010-06-24 20:26:04 UTC
*** Bug 622657 has been marked as a duplicate of this bug. ***
Comment 2 Frederic Peters 2010-06-24 20:26:20 UTC
*** Bug 622656 has been marked as a duplicate of this bug. ***
Comment 3 Sri Ramkrishna 2010-12-09 16:18:50 UTC
Did I file three bug reports with the same text?

sri
Comment 4 Sri Ramkrishna 2010-12-09 18:48:00 UTC
Did I file three bug reports with the same text?

sri
Comment 5 Alexander Larsson 2011-03-17 14:40:43 UTC
This is fixable with pointer barriers.
Comment 6 Alexander Larsson 2011-03-18 12:33:19 UTC
Created attachment 183708 [details] [review]
Add pointer barriers to panel and message tray

If you have XFixes 5 (and corresponding xserver support) then we
add barriers on the panel and in the message tray corner so that
its easy to reach the corners even when there are monitors to the
sides of the primary monitor.
Comment 7 Alexander Larsson 2011-03-18 13:20:12 UTC
Created attachment 183711 [details] [review]
Add pointer barriers to panel and message tray

If you have XFixes 5 (and corresponding xserver support) then we
add barriers on the panel and in the message tray corner so that
its easy to reach the corners even when there are monitors to the
sides of the primary monitor.
Comment 8 Alexander Larsson 2011-03-18 13:20:34 UTC
Fixed a leftover print
Comment 9 Rui Matos 2011-03-18 16:18:16 UTC
I'm getting an X BadRequest with this patch when I change the primary output like

$ xrandr --output HDMI1 --primary

Running gnome-shell with --sync and breaking on gdk_x_error() I got

== Stack trace for context 0x8d9db40 ==
0 [native frame]
1 anonymous([object instance proxy GIName:Meta.Screen jsobj@0x8fded20 native@0x8d6e0b8]) ["/home/rui/Source/gnome-shell/install/share/gnome-shell/js/ui/messageTray.js":1115]
2 anonymous([object instance proxy GIName:Meta.Screen jsobj@0x8fded20 native@0x8d6e0b8]) ["/home/rui/Source/gnome-shell/install/share/gjs-1.0/lang.js":110]

from gjs_dumpstack()

I've added some output when adding that barrier:

primary.x + primary.width = 1920
primary.y + primary.height - this.actor.height = 1044

As Alex requested on IRC I've put a print before the call to global.destroy_pointer_barrier():

this._pointerBarrier: 77594646
Comment 10 Alexander Larsson 2011-03-21 10:18:53 UTC
This seems like an X issue, i can reproduce this without gnome-shell, just calling XFixesDestroyPointerBarrier always gets me this.
Comment 11 Alexander Larsson 2011-03-21 15:33:24 UTC
Created attachment 183947 [details] [review]
Xorg fix for pointer barriers

This is an xserver bug, attaching a patch that should fix it.
Comment 12 Alexander Larsson 2011-03-21 15:45:13 UTC
Created attachment 183954 [details] [review]
Add pointer barriers to panel and message tray

If you have XFixes 5 (and corresponding xserver support) then we
add barriers on the panel and in the message tray corner so that
its easy to reach the corners even when there are monitors to the
sides of the primary monitor.
Comment 13 Florian Müllner 2011-03-21 17:05:42 UTC
Review of attachment 183954 [details] [review]:

I can't actually test this, but the code looks reasonable - I was a bit surprised by the pointer barrier for the user menu (I don't see the same need for Fitts'ability as for the hot corner there), but sure (not at least, it keeps the code simple with regard to RTL locales).

::: src/shell-global.c
@@ +909,3 @@
+
+  return (guint32)
+    XFixesCreatePointerBarrier(xdpy, DefaultRootWindow(xdpy),

Missing space before '('

@@ +933,3 @@
+
+  xdpy = meta_plugin_get_xdisplay (global->plugin);
+  XFixesDestroyPointerBarrier(xdpy, (PointerBarrier)barrier);

Is this save to call with barrier == 0 or will this result in an X error? In case of the latter, we should bail out early here (even if the JS code guards against this case).

Oh, and another missing space :)
Comment 14 Rui Matos 2011-03-21 18:46:00 UTC
(In reply to comment #11)
> Created an attachment (id=183947) [details] [review]
> Xorg fix for pointer barriers
> 
> This is an xserver bug, attaching a patch that should fix it.

Indeed, it fixes things for me.
Comment 15 Florian Müllner 2011-03-21 20:04:27 UTC
Created attachment 183995 [details] [review]
Add pointer barriers to panel and message tray

Alex isn't around, so I updated the patch according to my review.
Comment 16 Florian Müllner 2011-03-21 21:08:20 UTC
Attachment 183995 [details] pushed as 1518dc9 - Add pointer barriers to panel and message tray
Comment 17 Florian Müllner 2011-05-30 11:01:47 UTC
*** Bug 651456 has been marked as a duplicate of this bug. ***