Kristian’s look on things

July 27, 2007

Enhanced Zoom hits plugins-main

Filed under: Compiz Fusion, Summer of Code, The GNU/Linux Desktop — kristian @ 10:48 pm

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.

July 11, 2007

Status update

Filed under: Compiz Fusion, Summer of Code — kristian @ 3:06 pm

I’ve been fairly quiet lately. Not too much code being released either.

The main reason has been summer, I’d have to say. What I’ve been doing is mostly experimenting with DBus, Python and AT-SPI. And general playing around with zoom.

Over the course of the next few days I’ll be:

  1. Bringing “Sync Mouse” in line.
  2. Creating a small plug-in for displaying information messages on-screen. This has to be a plug-in so we can see the text regardless of zoom.
  3. Create functionality for locking the zoom area and storing/restoring zoom areas.

Most of that will probably be finished within 3-5 days. I need the extra plug-in to have a consistent way of displaying information about when a zoom area is stored, locked etc, but it should be used by other plug-ins too (Opacify for instance could use it to inform the user on when he/she toggles Opacify on/off). It’ll simply use the logging interface of Compiz.

I’ll also upload a little bit of code that gives ezoom the ability to move based on region of interest messages over DBus, similar to how gnome-mag gets what it needs from Orca. I’m sure you can see a pattern here…

On a different note, I’ve “had to” buy/build a new computer. It’s pretty crazy to see the BIOS report a CPU temperature of 19C when all I was going for was quiet… I literally can’t believe that temperature, considering that can’t be more than a couple of degrees Celsius above room temperature at the time… Nice having more than one core for a change though.

Powered by WordPress