[Panel-devel] Pager extended for "viewports"
Timothée Lecomte
timothee.lecomte at ens.fr
Tue Sep 19 12:51:24 CEST 2006
Dear all,
I have recently worked on extending the KDE pager applet to understand
"viewports" as they are used by compiz. This is a matter of using
existing standards called EWMH, defined by the freedesktop group. The
modified pager actually shows all the compiz viewports, and allows to
switch to another viewport with a simple click.
The code is somewhat of beta quality since I am not a regular user of
compiz nor an experienced KDE developper, but I have done it for fun and
I will continue to improve it slowly. It needs a good lot of cleanups yet.
You can find the source code and additional information on
www.kde-apps.org <http://www.kde-apps.org>:
http://www.kde-apps.org/content/show.php?content=46021
This is a standalone archive whose content can be installed with the
usual methods. The modified applet does not overwrite the original one.
The main modifications with regard to the kdebase archive limit
themselves to the four following files:
kdebase-3.5.4/kicker/applets/minipager/pagerapplet.cpp
kdebase-3.5.4/kicker/applets/minipager/pagerapplet.h
kdebase-3.5.4/kicker/applets/minipager/pagerbutton.cpp
kdebase-3.5.4/kicker/applets/minipager/pagerbutton.h
Technically, I am using the functionnality offered by the NETRootInfo
class. I have just corrected the existing code to take into account that
widths are no longer those of the screen but those of the viewports, and
that offsets in window coordinates are to be used according to the
position of the current viewport.
I have not encountered major issues to do this, apart from the usual
time needed to get familiar with the way things work... I have one
problem though: of you test the code posted on www.kde-apps.org, you'll
see that window drag&drops is not completely reliable. In particuliar, I
cannot drag windows from a viewport other than the current one, although
the debug output seems to be perfectly consistent.
TaskManager::findTask() may have a small problem that I need to investigate.
Here is a screenshot:
http://tipote.free.fr/compiz-pager-screenshot.png
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.
Enjoy, and do not hesitate to share your comments with me !
Best regards,
Timothée
More information about the Panel-devel
mailing list