Posted on 2007-05-29
The easier parts of the zoom plugin is starting to look good now. I finally fixed the math for moving the zoomed area to an absolute area (as opposed to moving it with relative center in a point, which is needed for mouse movements) today, which was a must for anything that wanted to target a window.
In addition to this, the zoom plugin can now fit the zoomed area to a window, either manually or automatically if enabled and focus tracking triggers. What this means, is that you can make a window take up the entire screen at the click of a key, and with another key you can of course zoom right back out again. This combined with manual panning and fixed zoomed out by keyboard means that the zoom plugin is very very usable now without having to resolve to mouse movement.
I've also been reordering the code a bit to fit my coding style better, while the basic style has been kept. Mostly moving functions around, which is more necessary now that the plugin is getting more advanced. There are still some things I'm not happy with style-wise, but it's getting there. It's also humorous to spot obvious copy/paste bugs that exist in both compiz' original Zoom Desktop plugin and the completely different inputzoom plugin found in Beryl.
Next on the todo is zooming the mouse pointer. I'll have to use some tricks from Beryl here, and I'll have to experiment a bit. I know this is a much sought after feature, so I want it to be as close to perfect as it is possible to get it.
When that's done, I'll get started on what I suspect will be the real time-stealer; at-spi integration.