Fri, 14 Jul 2006

Fifth report

During the past week I completed the communication path from a Firefox extension to the Compiz plugin and visualizing the results. It was about time as the summer is half-way through, and there's still a lot of extending and polishing left to do. I want to publish a demo version of the extension soon along a version of the plugin code that works with it.

After my last report, it turned out getting the native window was not as easy as it seemed. Even though nsIBaseWindow has it as a property, there's some code for accessing it, and trying to access the property makes the code give you a ... segfault. Luckily the code could be worked around by using GetMainWidget and GetNativeData(NS_NATIVE_WIDGET). The native code now does all I need, and the JavaScript part uses it to publish the address and title of the document. I'll need to explore the JavaScript side more to get the information about parent window, that is, which page was this page opened from. Another thing is supporting a set of documents, as tabs lead to several documents per window.

A bit unexpectedly, the Compiz upstream changed to use Git instead of CVS. I welcome the use of distributed version control, but it means my CVS to Darcs gateway of the Compiz repository makes no sense anymore. I've been learning Git, setting services up, and moving my Compiz patches to Git. This far, you can browse the new repo git://tuukka.iki.fi/compiz.

I've hit some problems on the Compiz side, not understanding some details of the system. To help this, I've continued studying the code and adding comments and documentation. Some of this is currently available in the documentation_work head of my Git repository, specifically the patch. I'm planning on going through all of the paint sequence next, as that's one of the most delicate ones to understand.

To try more OpenGL features I wanted a Python environment that is similar to Compiz. It's not too near yet, but it has pixel coordinates set up, and I was able to debug my arrow drawing mathematics with it.

Posted at: 16:56 | Permanent link | Comment page


CC Some rights reserved

These weblog entries are licensed under a Creative Commons Attribution-ShareAlike 2.5 License