[Panel-devel] Pager extended for "viewports"
Timothée Lecomte
timothee.lecomte at ens.fr
Thu Sep 21 02:19:32 CEST 2006
Aaron J. Seigo wrote:
> hi Timothee...
>
> good to hear you've made such progress. i'm looking forward to testing it,
> however:
>
> On Tuesday 19 September 2006 4:51, Timothée Lecomte wrote:
>
>> After discussion with Fredrik Höglund and Aaron Seigo on #kde-devel, I
>> think it is reasonable to think about merging it for a future release. I
>> have a KDE svn account, so I will probably host the code in a branch and
>> let you informed.
>>
>
> this is probably the only way i'll actually get to do so ... so please don't
> wait to check it in =)
>
Since Dirk's commit today, I was all the more pushed to show something
in the snv. In addition to that, the kde-apps.org code saw a very warm
welcome... I commited my work on the minipager applet to
branches/work/minipager-viewports, whose files are to be copied to
kdebase/kicker/applets/minipager
Unfortunately, it looks like Dirk took a slightly different approach.
Dirk chose to have one KMiniPagerButton per viewport and supports only a
desktop made of one row of viewports, whereas compiz (and others
probably) does support an array of viewports, with multiple rows and
columns (the "plane" plugin).
I chose to keep one KMiniPagerButton per desktop, but to modify its
shape according to the viewports layout it contains. The underlying idea
is that those viewports are really just a tiling of a large desktop (as
defined in EWMH), and this is particularly sensible when using compiz.
Moreover, a window can naturally be across two viewports, whereas this
is a little less easy to implement with Dirk's approach.
Dirk's current approach means multiple viewports _or_ multiple desktops,
but not the two at the same time. My approach allows to have several
"large" desktops. This is likely to be implemented in compiz, and is
allowed by the spec:
http://lists.freedesktop.org/archives/compiz/2006-September/000431.html
David Reveman: "eventually I think we want to add support for
multiple workspaces as well"
The code I just commited has two problems:
- windows drag&drop in the pager does not work reliably when you try to
move a window from another viewport. I guess there is a problem
somewhere with the viewport position offsets, but I could not pinpoint
it yet.
- I have small graphic glitches because of coordinates rounding errors
as I draw several viewports in a single QButton. More precisely, small
seams appear between viewports backgrounds at certain panel sizes.
The limitations are:
- showing the desktop name actually doesn't show anything useful with
compiz, since there is one desktop only (currently).
- the dialog to change the number of desktops is for the same reason
useless. It just does not do anything.
Apart from that, I think I have gone through almost every detail:
viewport labeling, background preview, highlight of the current
viewport, etc.
I hope we can do something with that code !
Best regards,
Timothée
More information about the Panel-devel
mailing list