Saturday, June 27, 2009

Weirdness which I can now attribute to "PHP Library Hell" (similar to DLL hell) had caused the full text of posts for most of the feeds to not be syndicated in the planet feed for several weeks. This is now fixed. (I had to upgrade to Wordpress 2.8 for the actual error to appear and a solution to be presented, it seems.) I apologize for the inconvenience.

Wednesday, June 03, 2009

I've been a bit quiet about Awn in my blog. This is partially because I've
been working on two major areas: libdesktop-agnostic and Vala/GObject
Introspection (as explained in my previous post, On Bindings).

Since my work on libdesktop-agnostic is directly related to Awn, I'll address
it here (even though it may be boring to most of you). I currently have
abstractions for configuration, desktop entries, and virtual file systems
(e.g., GIO). The area that needs the most work currently is the configuration
support. What will ultimately happen is that there will be a class which lets
you have per-instance configuration for a given app(let), regardless of the
backend that is being used. What this means is that Awn users won't be shackled
to using GConf if they want a stable dock. Plus, if a user wants to switch
backends for some bizarre reason, they don't have to recompile Awn to do so.
Obviously, they'd have to migrate the settings themselves, but that's the
price one pays.

Anyway, on to Awn. Here's a screencast I took (CC-BY-SA 3.0 licenced!) of a
development version of Awn in an Ubuntu Jaunty virtual machine (hooray for
VirtualBox!):

Moonbeam is working on an API that allows applets to have text and graphics
overlay the applet icon. Think Awn plugin support for applets.

He is also rewriting Awn System Monitor so that one can monitor multiple
things from the dock, among other things.

Certain panel/task animations still need to be implemented.

Plugin (not applet) support still needs to be implemented.

I'd like to take a moment to talk about the Awn plugin system, particularly to
those who actually write the plugins. The D-Bus plugin API that was in 0.2.x and
0.3.x will be deprecated in the 0.4 series, and removed in the 0.6 series.
There will be a new API in the 0.4 series.

With regards to what I'm working on - in addition to libdesktop-agnostic
integration, I will most likely be working on implementing the D-Bus plugin API,
once Moonbeam is done with the API mentioned above.

On the Awn Extras front, I have the Garbage applet waiting to be added. This
is waiting on Vala support being re-activated (which is dependant upon adding
GObject Introspection support to Awn), and porting the applet to the 0.4 API.
There is also an rTorrent frontend and a social aggregator applet that I
have on the backburner (both written in Vala), which may or may not make it
into 0.4.0.

And finally, a note for Ubuntu users: we are not making available PPA builds
of 0.4 until there are no feature regressions in the rewrite. This release is
targeted for the official Karmic Koala repositories, just as 0.3.2 was targeted
for the Jaunty Jackalope repositories. We anticipate building packages for
Hardy and above.

Remember, the best way to keep track of new developments in Awn/Awn Extras is
to subscribe to Planet Awn. Be with us next time for "Autohide and Seek", or
"The Incredible Shrinking Dock"!