On Monday 25 August 2008, Guillaume Pothier wrote: > Thanks for the info Aike, I look forward to seeing your work land in > trunk! When would that be? > g
I as well, I have a dual screen XRandR setup, and have also been working on some multi monitor X support code for an open source project, so I wouldn't mind seeing how you do it. Especially with NVidia's currently broken 1.2 output. > 2008/8/25 Aike J Sommer <[EMAIL PROTECTED]>: > > Am Montag 25 August 2008 15:20:14 schrieb Guillaume Pothier: > >> Following up on this issue. > >> The code in Qt that emits the resized signal is in > >> qapplication_x11.cpp, line 2998: > >> > >> int scr = XRRRootToScreen(X11->display, event->xany.window); > >> QWidget *w = desktop()->screen(scr); > >> QSize oldSize(w->size()); > >> w->data->crect.setWidth(DisplayWidth(X11->display, scr)); > >> w->data->crect.setHeight(DisplayHeight(X11->display, scr)); > >> if (w->size() != oldSize) { > >> QResizeEvent e(w->size(), oldSize); > >> QApplication::sendEvent(w, &e); > >> emit desktop()->resized(scr); > >> } > >> > >> Someone knows xrandr enough to understand why XRRRootToScreen would > >> always return 0? > > > > The problem is that this is from pre-1.2 days! ;-) > > In pre-1.2 xrandr there would be 1 screen per output, basically. But now > > that multiple outputs can be merged onto one framebuffer, the screen is > > the complete active area of the framebuffer and thus not the same as a > > screen in the sense of QDesktopWidget. > > Xrandr in fact has no name for what we like to use as "screen", the > > closest thing is the area of the framebuffer occupied by one crtc, but > > there can be multiple crtcs on the same area! > > > > There are also some resizes which do not even result in the signal being > > emitted. > > > > The attached patch from some time ago fixes that, but a real fix would be > > to implement xrandr 1.2 in QDesktopWidget instead of xrandr 1.1 + > > xinerama! > > > > As soon as we get my gsoc stuff in, this should be fixed, at least for > > plasma, though! > > > > :-) > >> > >> Regards, > >> g > >> > >> On Sat, Aug 23, 2008 at 8:45 PM, Guillaume Pothier <[EMAIL PROTECTED]> > > > > wrote: > >> > Hi, > >> > This is related to http://bugs.kde.org/show_bug.cgi?id=163676 > >> > It seems there is indeed a problem with QDesktopWidget. When I resize > >> > my external monitor, the resize signal is fired with screen=0, > >> > although the screen whose size changed is screen 1. Thus adjustSize > >> > doesn't adjust the size of the panel, which I put on screen 1. > >> > > >> > So as a workaround I wrote a hack that calls adjustSize for each > >> > screen when we receive the signal. This works fine, at least on my > >> > machine. The patch is attached. I'll try to have a look at > >> > QDesktopWidget, but in the meantime this patch seems useful. > >> > > >> > Regards, > >> > g > >> > >> _______________________________________________ > >> Plasma-devel mailing list > >> Plasma-devel@kde.org > >> https://mail.kde.org/mailman/listinfo/plasma-devel > > > > _______________________________________________ > > Plasma-devel mailing list > > Plasma-devel@kde.org > > https://mail.kde.org/mailman/listinfo/plasma-devel > > _______________________________________________ > Plasma-devel mailing list > Plasma-devel@kde.org > https://mail.kde.org/mailman/listinfo/plasma-devel -- Thomas Fjellstrom [EMAIL PROTECTED] _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel