Status of multi-monitor support
aseigo at bddf.ca
aseigo at bddf.ca
Wed Oct 15 20:11:32 CEST 2008
Looks like arace condition ... Kwin updates first so plasma is not adjusted yet and so the "is it the size of a screen" test fails.
I guess the question is if kwin should be trying to manage the root window at all. Either it shouldn't touch anything or we will need a new window hint for rootwindows which notes what screen (if any) they are associated with.
I wonder if kwin would ignore a root window that sets the wm override hint? If so then we could leave kwin as it is anf just have plasma manage its own root windows.
------Original Message------
From: Guillaume Pothier
Sender:
To: plasma-devel at kde.org
ReplyTo: plasma-devel at kde.org
Sent: Oct 15, 2008 11:57
Subject: Re: Status of multi-monitor support
On Wed, Oct 15, 2008 at 2:18 PM, Aike J Sommer <dev at aikesommer.name> wrote:
>> > I think the problem is kwin forcing plasma onto that size... I commited a
>> > patch a while back to allow one root-window per screen, but this seems to
>> > not work on resizing!
>>
>> ugh ... what is kwin doing resizing anything in the first place?
>
> if( isDesktop())
> {
> -> if (geometry() == workspace()->clientArea( ScreenArea, this ))
> {
> return;
> }
> <-
> QRect area = workspace()->clientArea( FullArea, this );
> if( geometry() != area )
> setGeometry( area );
>
>
> Is the part of geometry.cpp and there is similar in manage.cpp. The lines
> between -> and <- is what i added, but depending on wether kwin or plasma
> will get the resize first this will fail!
> Why kwin needs to resize desktop-type windows, i dont know!
>
As an experiment, I applied this patch to kdebase/workspace/kwin/geometry.cpp:
@@ -993,12 +989,12 @@
{
if( isDesktop())
{
- if (geometry() == workspace()->clientArea( ScreenArea, this
))
- {
- return;
- }
+// if (geometry() == workspace()->clientArea( ScreenArea,
this ))
+// {
+// return;
+// }
- QRect area = workspace()->clientArea( FullArea, this );
+ QRect area = workspace()->clientArea( ScreenArea, this );
if( geometry() != area )
setGeometry( area );
return;
It resolved the DesktopView resizing to 3600x1200! Now, I need some
info on whether it is a correct fix or not, and if more is needed.
Cheers,
g
_______________________________________________
Plasma-devel mailing list
Plasma-devel at kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
Sent from my BlackBerry® wireless device
More information about the Plasma-devel
mailing list