GNOME Bugzilla – Bug 70295
no longer Xinerama compatible
Last modified: 2004-12-22 21:47:04 UTC
I have a Xinerama setup; two monitors side by side make one big desktop. The right-hand monitor is the main monitor, the left one is the secondary monitor. I have several aligned panels, one of which was anchored to the bottem left corner of the desktop. Until the latest update of gnome-panel, this appeared on the bottom left corner of my left-hand monitor. Now this panel is anchored to the bottom left corner of my right-hand monitor, and I cannot get the panel to move to the other monitor. Converting the panel to an edge panel only has it stretch to the full side of the one right hand monitor, and it no longer stretches across the two monitors like it would have done before the update.
What version were you upgrading from?
Since 1.4.0.5
*** Bug 70096 has been marked as a duplicate of this bug. ***
Does setting FAKE_XINERAMA_PANEL=1 help at all?
Not at all (from the user) : I can now place the panel on either monitor on any edge (right-hand edge of left-hand monitor for example). I cannot make an edge panel that spans the monitors however. Lucky for me I don't need one.:)
I don't think xinerama falls under the "supported" category in 1.4.x. In 2.0 this support will be at the gtk+ level I think - so that may be better.
Removing the GNOME2 keyword; if it is still a problem with gtk2/gnome2 then it should be re-added.
Christian, is panel linked to -lXinerama? There was a bug in the configure checks that made this not work.
Apparently yes. From panel/Makefile : XINERAMA_LIBS = -lXinerama [...] panel_LDADD = libpanel_applet.la $(GNOME_LIBDIR) $(GNORBA_LIBS) $(ORB_LIBS) $(GNOMEUI_LIBS)$(INTLLIBS)$(PIXBUF_LIBS) $(XINERAMA_LIBS) But the configure script don't like xinerama : checking X11/extensions/Xinerama.h usability... no checking X11/extensions/Xinerama.h presence... yes configure: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled configure: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers? configure: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result checking for X11/extensions/Xinerama.h... yes
Could you try compiling from CVS? There was a fix in configure.in wrt Xinerama recently there.
checking for X11/extensions/Xinerama.h... yes checking for XineramaQueryScreens in -lXinerama... no It is normal ? I see another problem : checking for png_init_io in -lpng... ./configure: ]: command not found yes
Any idea about the WARNINGS for -lXinerama?
You know, this bug and 73475 are duplicates of each other. 73475 has patch. It works. I run it. The cause of the bug doesn't have anything to do with linking librarys or anything like that. Instead it has everything to do with the code actually looking to see if xinerama is enabled, if the panel should be drawn on the left on the left or right screen, shift the panel so that its left-most pixel appears at either 0 or screen_width / 2, and then truncating the panel to screen_width / 2. It's all in multiscreen-stuff.c You fix it by checking a flag that indicates whether you want to span monitors or not. If you do you use gdk_screen_width() et. al.. If not, multiscreen_width() et. al.. Oh and the "keep on same screen code" won't work >2 screens.
Closing as duplicate then
*** This bug has been marked as a duplicate of 73475 ***
Created attachment 8173 [details] [review] fixed patch for different sized screens in Xinerama
The patch didn't work when screens don't have the same size. I made one which works.
Oops ... copy/paste error which makes some pop-up menus appear not at the right place. Here's the fix. --- panel/basep-widget.c.orig Sun May 5 23:11:15 2002 +++ panel/basep-widget.c Sun May 5 23:04:29 2002 @@ -1978,7 +1978,7 @@ if (*x < minx) *x = minx; - if (*y + maxy) + if (*y > maxy) *y = maxy; if (*y < miny) *y = miny;
So. We need the patch in the other bugreport + the one here + the last fix on top?
Patche (attachment id=8173), plus this little fix, fix this bug.
Have you tried middle dragging the panel over to your left monitor?
My screen0 is the right one. I tried dragging my panel on another screen, it works. When I reopen the "all properties" dialog, it's updated with the right defautl screen. Why, did you see some kind of bug ?
The patch in attachment 8173 [details] [review] seems mostly fine though it would have to have some parts cleaned up. But I think it is too long to apply to a stable branch. It touches too many parts of the code. I may not be understanding the problem however. The problem seems like someone doesn't like panels that are only restrained to one screen and wants some panels to span multiple screens. Right? In this case this is an enhancement. I seem confused about this problem then. Why is this a bug and why is it major. It seems to me fairly cosmetic that I can't have a panel span multiple screens. Keeping panels restrained on screen edges seems to me as the most predictable behaviours and one which will not result in panels appearing offscreen. If you want pre-Xinerama support style panels then you can just set the GNOME_PANEL_NO_XINERAMA env variable (need latest CVS, I just added that)
It's high/major because it's one of those things that works elsewhere (mostly) so it is right on that knife edge between feature and bug- it may never have worked in panel, but it works everywhere else, so... that's why it is where it is. It's not GNOME2 anyway; I don't know if that helps you clarify where it stands :)
I see what it is. debian applied a patch that pretty much turns off xinerama support so you get offscreen panels. But the plan .8 doesn't do this. So I'll mark the duplicate bug as WONTFIX unless someone sends a patch and/or convinces me that the added effort into having some sort of property so that you may have panels that span screens is worth it. Basically debian doesn't support xinerama while gnome does. If there is a bug it is with debian, with plain GNOME1.4 nor 2 you will never get offscreen panels.
Completely wrong. 1) The configure script is broken and he is unable to find the xinerama extention. Read the config.log to see what's wrong. 2) The patche in attachment 8173 [details] [review] solve this bug.
The configure check is something different and that is not part of that patch. I AM interested in such a patch, that's a fix. Adding lots of code that adds a feature is not a bugfix. What I see the code in this patch and the patch in bug #73475 does is add a new property for panels that lets them span screens. 1) I have not tested this patch and cannot do that well currently with 1.4 gnome 2) This patch adds a LOT of code and 1.4.1 is way overdue, so making sure such a patch is rock solid would take a bit more 3) I have some reservations about how corner cases (such as screens with different resolutions) are handeled correctly, that is, under no circumstance should ever it be possible for a panel to be offscreen and that is apparently possible with this patch. GNOME2 is for adding features marking again as duplicate of 73475 *** This bug has been marked as a duplicate of 73475 ***
ok the configure check is fixed