Recently I tried to make window list using qml(kde-workspace/ branch : "heenamahour/gsoc")
The main thing to be taken care of in this plasmoid is "data engine" .I used tasksSource in window list .And also to highlight the selected menu item I used
PlasmaCore.FrameSvgItem .The text displaying the menu items become italics in case that window is minimised .
Further I have made it a PopUpApplet .It shows the list of active windows on full view and collapses to icon on desktop panel .
Further , I added cascade and unclutter actions in tasks data engine by using asynch call to kwin interface using QDBusInterface .This required more time since I was new to it ,but my mentor is awesome .
So,I managed to do it . I made new service for these actions since they require an empty source . Ofcourse ,these actions can be done by a source(by using the Ids on connectSources() also but then there is always a case when there is no window that is active at the moment) .Therefore , empty source is required.
Now , I have also used sections as suggested by my great mentor +Marco Martin and under his guidance it also displays windows under their respective desktop . If section > 0 then it displays Desktop + Desktop number else it displays on all desktop as in C++ plasmoid .
Also , the active window is enclosed withing PlasmaComponents.Highlight just like Actions and Desktop titles while highlight is shown by FrameSvg .
That's all for now .Hope you like it !