Friday, February 15, 2008

Awn News & Commentary (ANC), 2008/02/15

I'm taking a break from both trying to make a <tbody/> scroll vertically without a horizontal scrollbar present and playing "Link's Crossbow Training" to write up what's transpired in the past several days in Awn-land.

The Awn Curves branch was partially merged into awn-core-testing. I say "partially merged" because meek is merging it in parts, due to the complexity.

The big event was when Neil finished reviewing the awn-core-testing and awn-extras-testing branches and merged them into their respective trunks. Among the benefits is that users of reacocard's Ubuntu Gutsy repository can now use the shiny new features that those of us on the (very) bleeding edge have been using for a while now.

I should also point out that Neil has added both moonbeam and myself to awn-core, in recognition of our work on both the testing branches and our respective personal branches. This means we have commit access to Awn's trunk branch and more bug/blueprint triaging privileges.

As a result of the big merge, we now have a new roadmap. What used to be Neil's big rewrite for 0.3 (code-named fandabbydosy) has been spread out over several releases. See the roadmap link for details. One important item to mention is that we plan to release version 0.2.4 of both Awn and Awn Extras on Monday (02/18).

In Awn Extras, most of the changes have been bugfixes. A patch was added to the media-control applet for Quod Libet support.

Finally, I'm holding a contest for Awn users/enthusiasts. In the near future, I'd like to have a post with screenshots and videos showing off all of the new features and applets in Awn/Awn Extras. Unfortunately, I suck at doing that sort of thing myself. :) So, I'm giving the Awn community the chance to show off their customized docks.

The only restriction on the screenshots and videos is that you license them under a Creative Commons license. I will, of course, attribute all media to their proper creators :) Ideally, the screenshots should be as hi-res as possible, but any resolution is welcome. The same goes for videos.

The deadline is Feb. 21, because I'd like to write the post by the end of next week. I'll choose a set of media that looks the nicest (with the help of the people in #awn) and use that as the basis of my next Awn post.

So if you wish to participate, please post the URL to the media, the attribution information you wish to use (your name or nick), and which feature/applet you're highlighting on the forum thread or as a comment here.

Saturday, February 09, 2008

Avant Window Navigator News and Commentary, 2008/02/09

Given the lack of releases of Awn, I figure that there needs to be some record of what's happening in Awn-land ever since we got version 0.2.1 of Awn and awn-extras out the door, other than the mish-mash of posts on the forums.


Here's a (most likely incomplete) list of the new features in awn-core-testing, mostly taken from the branch whiteboards:

  • A simple mouse wheel task scrolling implementation
  • Sort applets in alphabetical order in awn-manager
  • Xfce support (build flag: --with-desktop=xfce4)
  • desktop-environment-agnostic support (build flag: --with-desktop=agnostic): this requires GLib 2.15.x and above, because it uses the new GIO library to replace the GnomeVFS code.
  • GKeyFile configuration backend support (build flag: --without-gconf): this adds a compile-time option to build a .ini-style configuration backend, instead of GConf.
  • Desktop Entry wrapper API: Desktop entry files are used all over the place in both Awn and awn-extras, so I wrote an API that wraps both the GnomeDesktopItem and EggDesktopFile APIs, depending on your desktop preference. Note that the Xfce backend also uses EggDesktopFile, because I found out that libxfce4util's desktop entry implementation was read-only, and read-write-support was needed.
  • File/directory monitoring wrapper API: The Gnome implementation uses GnomeVFS, the Xfce implementation uses ThunarVFS, and the agnostic implementation uses GIO.
  • Python bindings for all of the new APIs
  • Vala bindings (auto-detected at build time)
  • remove the gnome-panel dependency by writing a launcher/desktop entry editor in Python (including custom/stock icon chooser)
  • changed awn-manager applet interface

Note that everything except the first two items are also in my desktop-agnostic branch.


Since the 0.2.1 release, a number of new applets and other changes have occurred in the awn-extras tree.

New applets

Other changes

  • Rewritten build system
  • Shared libraries for applets to use: libawn-extras (with python bindings) and AWNLib (for Python only)
  • The GMail applet has been renamed to the Mail applet and has been completely rewritten. As a consequence, it no longer uses libgmail.
  • Stacks: experimental GUI
  • BlingSwitcher: Due to the lack of both a maintainer and a license, this applet will most likely be removed from the tree. However, an archived copy will be linked on the forum and the wiki.

Distribution support

Our resident Debian/Ubuntu packager, gilir, successfully got Awn (the dock) into the official Hardy repositories, specifically universe/gnome, as avant-window-navigator. Unfortunately, there are some QA problems with the awn-extras applets package, awn-core-applets, but gilir is working very hard to get that resolved before the package freeze. He is also working on getting said packages into Debian sid.

Meanwhile, in Gentoo-land, there are official ebuilds for both Awn and awn-extras, named gnome-extra/avant-window-navigator and gnome-extra/avant-window-navigator-extras, respectively. Since the xeffects overlay is defunct, I'm working with the team behind the desktop-effects overlay to get the awn-core-testing and awn-extras-testing branches in as working "live" ebuilds. Of course, this comes after I was alerted via an awn-extras bug that one of the desktop-effects developers described the build system as piss-poor. Being the author of the new build system, I was a bit offended. Luckily, the lead developer for that overlay was more level-headed than the stereotypical Gentoo developer whose comment started it all. I'm still waiting for an apology from said developer, but I'm not holding my breath.


A community member has contributed a wiki for our project. We've been using it for both end-user documentation (Installation, FAQ) and internal processes. In particular, the applet developers have been collaborating on some applet development guidelines which should be followed if a person would like their applet to be included in the awn-extras tree.


In non-Awn/Awn Extras news, there have been reports that the Gimmie project has added Awn applet support, in addition to its current support for the gnome-panel.

The changes I've listed for Awn and AWN Extras are currently being reviewed so that they'll be merged into trunk in the near future. In the meantime, you can grab the test packages from the Awn Testing Team's PPA (for Ubuntu users), install Awn and Awn Extras from the desktop-effects overlay (for Gentoo users), or simply install from source (making sure that you uninstall any previous version of Awn/Awn Extras first!).