Kristian Lyngstøl's Blog

Enhanced Zoom hits plugins-main

Posted on 2007-07-27

We just enabled merging of the Enhanced Zoom plugin (ezoom) with the Compiz Fusion "plugins-main" repository.

This will mean that any distro that packages our plugins-main will soon have ezoom. Including Ubuntu Gutsy.

While the Summer of Code project isn't entirely finished yet, the large parts that are related to the actual plugin is. Before enabling the merging, a fix for expo-issues was committed, along with a change in the default key bindings so they don't conflict (with expo, coincidently).

For those just tuning in, enhanced zoom is a Google summer of code project consisting of a Compiz plugin, with the shorthand "ezoom", and work outside of the compiz plugin (orca/at-spi) for communicating events to the zoom plugin.

The ezoom plugin can:

  • Zoom in as much as you could possibly want.
  • Zoom in with input enabled.
  • Track focus; the zoom area moves to newly focused windows.
  • Fit the zoom area to a window. Either automatically while tracking focus, or manually with a key binding.
  • Zoom in and use mouse panning when the zoomed in mouse cursor approaches the edges of the zoomed area. (An often requested feature of Beryl's inputzoom).
  • Resize a window to fit a zoomed area (Currently doesn't move the window into place, however).
  • Center the mouse in the zoom area on a key binding.
  • Pan based on keyboard bindings
  • Be controlled through dbus.

The main motivation for the plugin has been accessibility. That is: creating a plugin that helps visually impaired users. The work is by no means finished, but this is of course an important milestone for the enhanced zoom project. I hope this will help those who need it most. And those who doesn't really need it, but find it convenient to be able to zoom.

Since the last blog post, I've added the locking/unlocking of a zoom area. Not yet as useful or tuned as it can be, but it's a start. Next and last on the list for the actual plugin features is the saving/restoring of zoom areas which was supposed to be done by now, but focus shifted to getting ezoom into plugins-main.