You are not logged in.

#1 2010-04-09 07:29:56

resi
Member
Registered: 2009-12-15
Posts: 44

weird menus in gnome/gtk apps with xinerama

Hi,

since I upgraded to gnome 2.30.0 a couple of days ago some applications pop up their menus in the wrong place.
No matter on which of my monitors the app is running, the menu pops up on the primary one.

I observed this behavior in nautilus, pidgin, gimp, gvim and gtk-demo, but for example firefox and thunderbird are not affected (I assume these are gtk apps, they look like they are).

For the records, I'm not running a gnome session, I use gdm to start e17.

Is anybody else experiencing this?
Any thoughts?

Thanks,
Christoph

Offline

#2 2010-04-09 10:56:48

eldragon
Member
From: Buenos Aires
Registered: 2008-11-18
Posts: 1,029

Re: weird menus in gnome/gtk apps with xinerama

resi wrote:

Hi,

since I upgraded to gnome 2.30.0 a couple of days ago some applications pop up their menus in the wrong place.
No matter on which of my monitors the app is running, the menu pops up on the primary one.

I observed this behavior in nautilus, pidgin, gimp, gvim and gtk-demo, but for example firefox and thunderbird are not affected (I assume these are gtk apps, they look like they are).

For the records, I'm not running a gnome session, I use gdm to start e17.

Is anybody else experiencing this?
Any thoughts?

Thanks,
Christoph

im replying to this to leave it as a reminder of reporting back when i get to my dualscreen setup.

but things to have in mind.

- i use compiz to place windows in a 'smart' way
- i got gnome session

Offline

#3 2010-09-15 09:20:57

resi
Member
Registered: 2009-12-15
Posts: 44

Re: weird menus in gnome/gtk apps with xinerama

Oh boy, I just found the reason.

It seems like both XRandR and Xinerama are enabled here, and the order gdk does multihead initialization is (see gdk/x11/gdkscreen-x11.c, init_multihead()):

/* There are four different implementations of multihead support:
   *
   *  1. Fake Xinerama for debugging purposes
   *  2. RandR 1.2
   *  3. Solaris Xinerama
   *  4. XFree86/Xorg Xinerama
   *
   * We use them in that order.
   */

I just commented out the RandR initialization and ... wuhu! It works again.

Now I have to figure out how to disable RANDR (HAVE_RANDR is set in config.h) and build a gtk-no-xrandr PKGBUILD.
Or, even better, somehow disable the XRandR in my X server, but how do I do that?

Offline

#4 2010-09-17 14:17:28

resi
Member
Registered: 2009-12-15
Posts: 44

Re: weird menus in gnome/gtk apps with xinerama

Well, I found no way to just disable XRandR in the X Server itself, so I just built the gtk2 package myself disabling RANDR.
Unfortunately it seems there is no configure option to do so, but sed can take care of that:

--- /var/abs/extra/gtk2/PKGBUILD        2010-09-17 06:05:37.000000000 +0200
+++ PKGBUILD    2010-09-17 16:13:12.432959667 +0200
@@ -28,6 +28,9 @@
   patch -Np1 -i "${srcdir}/xid-collision-debug.patch" || return 1
   patch -RNp1 -i ${srcdir}/revert_64bit_fix.patch || retun 1
 
+  # disable RANDR
+  sed -ie "s/\(.*#\)define .*HAVE_RANDR.*\(\".*\)/\1undef HAVE_RANDR\2/" configure || return 1
+
   CXX=/bin/false ./configure --prefix=/usr --sysconfdir=/etc \
       --localstatedir=/var --with-xinput=yes \
       --without-libjasper \

Offline

Board footer

Powered by FluxBB