multi-screen fixathon

Lucas Murray lmurray at undefinedfire.com
Tue Dec 9 04:55:06 CET 2008


2008/12/9 Hans Chen <hanswchen at gmail.com>:
> I just tried to zoom in/out again and noticed the following thing:
> - Zooming in on the right (main) screen worked fine.
> - I couldn't change activity on the left screen. If I zoom in from the left
> screen I just get the same containments again on both screens. If I use the
> right screen in the ZUI only the right containment changes.
>
>> > Shouldn't the two containment be handled as one activity?
>>
>> an Activity *is* a Containment (+ some context, such as the name) so
>> that's a nonsequitor.
>
> I realized this was a bad explanation, I'll try to explain it again:
>
> Problem
> When you zoom in, how do you know which activity you'll get on the other
> screen(s)?
>
> Solution A
> Make the activities independent; when you zoom out only one screen will zoom
> out, and you're free to choose whatever activity you want on that screen.
> The activity on the other screen(s) are unchanged.

I think this is the best option, it will allow you to move an activity
from one screen to the other easily. (Just need to keep in mind
screens of different sizes currently prevent this currently as it
results in checkerboards)

> Solution B
> The activities are "connected", this is what I meant with "as one activity".
> Let's say you have activity A, B, C and D. If you zoom in to A or B  you'll
> get [A][B], regardless which screen you use to zoom in (and vice verse for C
> and D -> [C][D]).

This is what the desktop grid currently uses simply because it's how
virtual desktops work. There has been a discussion in KWin history as
well as an open wish to allow per-screen virtual desktops, if this is
added then it will look identical to what was outlined in solution A.

> Other solutions?
> ...
>
> I still haven't  figured out how Plasma handles the issue. You can switch to
> all activities on all screens, but the "zooming out on both screens"
> suggests that the activities are connected somehow. Take a look at the
> following picture: zui.png
> Are they connected or not? If I zoom in to Activity 1 on the right screen,
> which activity should I get on my left screen?
>
> Now look at the KWin effect Desktop Grid: desktopgrid.png
> It's clear that Solution B is used here. The virtual desktops are connected
> and you can clearly see what will occur on the other screen.
>
> (During a period KWin had a different layout:
> [Left 1][Right 1] [Left 2][Right 2]
> [Left 3][Right 3] [Left 4][Right 4]
>
> (Left/Right = screen, number = virtual desktop)
> but it was bad in various ways. Seems the KWin devs thought so too =)

Although to the server all the screens are on the same canvas it just
doesn't make sense to the user to use this method. If your screens are
different sizes then things get very difficult to handle when zoomed
out as parts of one screen will be split between them. Each screen
should be treated as if it had a canvas of it's own, it's not possible
to have a plasmoid span multiple screens as each one is considered a
different containment (It's also useless physically) so why treat
screens differently by allowing containments to span multiple screens
when zoomed out?


More information about the Plasma-devel mailing list