Status of multi-monitor support

Guillaume Pothier gpothier at gmail.com
Sat Oct 11 01:36:50 CEST 2008


2008/10/10 Aaron J. Seigo <aseigo at kde.org>:
> so how this *should* work is when a screen changes size, PlasmaApp should
> change the size of the Containment which is associated with that screen to
> match the new size.
>
> the DesktopView also needs to change it's size when the screen changes size,
> but should not touch (or even reference) the Containment at all.


Ok, then this is not exactly how it is done now (even before my
changes). PlasmaApp calls DesktopView::adjustSize, and
DesktopView::adjustSize resizes the containment, after setting its own
geometry.

> without looking at your patch, it's hard to say what's going wrong =) can you
> post it somewhere i can look at it?

Ok, current patches can be found here:
http://pastebin.ca/1225015 (kdebase)
http://pastebin.ca/1225017 (playground/base)

Note that this is only draft stuff. The playground patch adds a
ScreenUtils class in kephal to simplify things that are done very
often in plasma (getting the number of screens and getting the
geometry of a particular screen). The kdebase patch replace calls to
QDesktopWidget by calls to kephal, and use kephal signals instead of
QDesktopWidget ones. There is also a lot of commenting out of
directoriy includes in the CMakeLists, please ignore.

Regarding the issues I mentioned earlier, the "one train late" one was
solved by replacing QDesktopWidget calls by kephal ones in libs/plasma
(when I wrote my previous mail I had only replaced them in
plasma/shells/desktop). The issue was that at the time the signals are
processed QDW still reports the old geometries; kephal reports the
correct ones.
However, the "1926" still bothers me. I am missing some pieces of the
puzzle here:
 - That 1920x1200 screen is on the right of a 1680x1050 screen, so I
would have assumed that it should be 1686, not 1926. And actually,
this is a problem, as shown in that screenshot:
http://imagebin.ca/view/DAFg36.html. The red border delineates
physical screen #1, the green border delineates physical screen #0.
Strangely, the panel is properly positioned, the windows  are
correctly maximized, but the wallpapers are swapped. And this is not
caused by my patch as it also happened before I started working on
that.
 - Containments have a 6 pixels gap between each other, but when they
are displayed that gap should not appear, right? So there must be some
transformation applied to each containment somewhere?

Thanks for the help!

g

 >
 > the 6 is actually stored in a constant in libplasma called
 > INTER_CONTAINMENT_MARGIN
 >
 > --
 > Aaron J. Seigo
 > humru othro a kohnu se
 > GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43
 >
 > KDE core developer sponsored by Qt Software
 >
 >

> _______________________________________________
 > 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