[Panel-devel] Pager extended for "viewports"

Lubos Lunak l.lunak at suse.cz
Tue Sep 26 16:23:59 CEST 2006


Dne čtvrtek 21 září 2006 22:36 Timothée Lecomte napsal(a):
> Aaron J. Seigo wrote:
> > On Thursday 21 September 2006 4:44, Timothée Lecomte wrote:
> >>> There might be a window manager out there, either now or in the future,
> >>> that supports both desktops and viewports at the same time. What I'm
> >>> thinking about: should we really bother the KDE user with the
> >>> difference? Does he care if it is a viewport or a desktop?
> >>
> >> The only reason a window manager would support both at the same time is
> >> precisely because there's a difference between the two: viewports have
> >> some "physical" meaning as a tiling of a larger desktop, whereas virtual
> >> desktops are disconnected. That's a good reason to make the difference
> >> visible in the pager too, and to show that the tiling is there for
> >> viewports.
> >
> > however this doesn't make sense at all.

 I think this sentence actually says it all. There is a difference between 
virtual desktops and viewport, both technical and from the user's point of 
view. However, since they're orthogonal, having both just doesn't make sense, 
unless you happen to be FVWM user who has to have everything. That's why KDE 
has happily ignored viewports altogether and it has just worked.

 Virtual desktops are several "separate" desktops. Viewports are a peephole to 
a larger desktop. So if you want to have separate desktops, use virtual 
desktops, if you want to have a larger desktop, use viewports. Simple as 
that, at least it would seem so.

> > it's like so many other choices made in the past in our UI: yes, we COULD
> > do it, and because we COULD we DID never asking ourselves SHOULD we. what
> > does multiple desktops per viewports (or vice versa) get one? nothing
> > much except the possibility to make a very confusing system.

 I agree.

> >
> > this is one reason (there are a few) i believe the compiz people have
> > their heads screwed on backwards.

 I agree as well. If we weren't talking about the currently hyped best thing 
since sliced break, I'd simply suggest ignoring Compiz and perhaps just 
making sure that our page works correctly with viewports (that is, making 
sure the active part of the pager is just the currently visible part of the 
screen).

> But I suddenly have another idea: it seems that your point of view, Dirk
> and Aaron, is that the user should not see the difference between
> viewports and desktops. Why don't we go further and make so that all KDE
> applications don't see the difference by modifying the underlying
> libraries, kwin.h and kwinmodule.h ?

 Because that's a horrible idea. There is a difference between the two and we 
should not screw up our code just because users expect Compiz's viewports to 
work as virtual desktops.

 At the same time, however, this looks like a perfect workaround, if we really 
want to fake Compiz's viewports as virtual desktops. I'd however like to keep 
it as that, a workaround, that will be hopefully removed again for KDE4.

> What I mean is that even after we will have fixed the pager, the taskbar
> and kdesktop remain to be fixed. As said before, the taskbar should only
> show tasks that are on the current viewport and kdesktop should be able
> to recognize that we can put a different wallpaper on each viewport.
> This could be easily done if we could abstract the difference between
> viewports and desktops in KWinModule and KWin.
>
> The current "desktop" index would be something like:
>     currentDesktop*number_of_viewports + currentViewport
> and all the corresponding functions would be modified accordingly.

 I'd just map viewports to virtual desktop and the on-all-desktops desktop to 
NET::Sticky, when the detected WM is Compiz. No need to complicate that.

-- 
Lubos Lunak
KDE developer
--------------------------------------------------------------
SUSE LINUX, s.r.o.   e-mail: l.lunak at suse.cz , l.lunak at kde.org
Lihovarska 1060/12   tel: +420 284 028 972
190 00 Prague 9      fax: +420 284 028 951
Czech Republic       http//www.suse.cz


More information about the Panel-devel mailing list