[PATCH] Multiscreen fix!

Guillaume Pothier gpothier at gmail.com
Sun Feb 1 15:44:50 CET 2009


2009/2/1 Alessandro Diaferia <alediaferia at gmail.com>:
>   I deeply checked and Kephal actually returns correct screen info (2
> screens,
>   the first (0, 0, 1280, 1024), the second(1280, 0, 1680, 1050)). Moreover
> adjustSize() uses Plasma::View::screen()
>   in order to resize the view, and before delaying adjustSize, that screen
> was just wrong.

Ok, so if Kephal reports the correct sizes then you most likely have
xrandr1.2, and so you are right, it's another problem. So I agree with
your patch now :-)
Cheers,
g

>
>>
>> I actually had a patch to fix this but I was waiting for somebody to
>> test it before committing. Can you check this bug:
>> http://bugs.kde.org/show_bug.cgi?id=181325 and test the patch,
>> reverting your own patch, and see if it works for you?
>
>  It does not do me the trick.. I still have second screen displacement.. I
> feel the issues are not correlated, anyway i'd wait for
>  someone else, more expert than me, to talk :)
>
>>
>> Cheers,
>> g
>
> Cheers :)
>
>>
>> 2009/1/30 Alessandro Diaferia <alediaferia at gmail.com>:
>> > As you can see from the sources Plasma::View uses QTimer::singleShot(0,
>> > this, SLOT(privateInit())) in the ctor but DesktopView calls
>> > adjustSize() in
>> > the ctor with no delay..
>> >
>> > This causes the fact that adjustSize() uses invalid information about
>> > the
>> > current screen to setup its size and makes my second screen disappear
>> > (or
>> > actually, with a wrong size/position).
>> > I managed to fix this giving a delay also to adjustSize() so that when
>> > it is
>> > called the correct information are already set (and screen() returns the
>> > correct number in this case).
>> >
>> > Hope this is ok to commit, since i'd like to have my screen back
>> > officially
>> > :P
>> >
>> > Since i'm having troubles with the reviewboard here comes the patch:
>> >
>> > Index: shells/desktop/desktopview.cpp
>> > ===================================================================
>> >
>> > --- shells/desktop/desktopview.cpp    (revision 918687)
>> > +++ shells/desktop/desktopview.cpp    (working copy)
>> > @@ -104,7 +104,7 @@ DesktopView::DesktopView(Plasma::Contain
>> >      QBrush b(tile);
>> >      setBackgroundBrush(tile);
>> >
>> >
>> > -    adjustSize();
>> > +    QTimer::singleShot(0, this, SLOT(adjustSize()));
>> >
>> >      Kephal::Screens *screens = Kephal::Screens::self();
>> >      connect(screens, SIGNAL(screenResized(Kephal::Screen *, QSize,
>> > QSize)),
>> >
>> >
>> > Hugs!!
>> >
>> > --
>> > Alessandro Diaferia
>> >
>> > _______________________________________________
>> > Plasma-devel mailing list
>> > Plasma-devel at kde.org
>> > https://mail.kde.org/mailman/listinfo/plasma-devel
>> >
>> >
>> _______________________________________________
>> Plasma-devel mailing list
>> Plasma-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/plasma-devel
>
>
>
> --
> Alessandro Diaferia
>
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel at kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>
>


More information about the Plasma-devel mailing list