Xfce

Subdomains

While I had planned to make the next release about features, I ended up fixing a few issues and doing a bugfix release instead. So 0.3.3 is about getting things right.

Test-driven development

Generally speaking Xfce has very few unit tests – or tests at all – but since Jerome had laid a foundation for notification tests in xfce4-notifyd I decided to extend that to testing the icons in notifications. What inspired me to do so was that I noticed that notifyd was not in line with the fd.o notifications specification in two aspects:

it didn’t support the “image-path” hint and

the priorities of how to handle the icons were mixed up.

So my new “test-icons” test – which I wrote before(!) I implemented the fix for the priorities, even if I checked it into git only until later – checks whether the server handles all icon-related properties, hints and features and also checks whether the priority is in accordance with the specification. I also started some documentation on what parts of the freedesktop.org specification are implemented in xfce4-notifyd and which ones are not (prominent example which is not implemented: sound).

Other than that a thank-you goes to Olivier for contributing another build-fix. Finally I managed to get a few more bugs fixed, most notably a general theming issue (action buttons were sometimes mis-styled) and hiding notification buttons without label. Together with the translation updates I think this makes 0.3.3 a worthwhile release.

Final note: currently there are only 12 bugs open on the tracker, of which several are feature requests so things seem to be going quite well!

Background

So xfce4-volumed has been around a while and automagically handling your media keys – originally written by Steve around 2009 – but lingering unmaintained in Xfce’s Git repository. This version of the media-key daemon uses gstreamer 0.10’s mixer interface, which has been deprecated in gstreamer 1.0.

It’s been almost as long that Lionel forked the project into xfce4-volumed-pulse in 2012 – hosted on Launchpad ever since – notably adding support for PulseAudio.

Migration to xfce.org

Not much has happened since then, until Sean and me decided to move the project over to the official Xfce infrastructure for more distributions to enjoy. This means the code is now on git.xfce.org and bugs are tracked on bugs.xfce.org.

I also went ahead and added some small features to it (all documented in the Readme). Amongst others I merged a feature branch adding support for the Microphone Mute key (thanks goes to Christian Pointner for the feature). I also added support for symbolic icons, which means your audio volume change notifications can now be shown – presuming you have at least xfce4-notifyd 0.3.2 installed – with always correctly colored monochrome icons. This latter feature has been made optional through an “icon-style” xfconf property in the newly created xfce4-volumed-pulse channel. This same channel now also handles the “volume-step-size” property, which used to live in the xfce4-mixer channel (this really didn’t make sense to me anymore with xfce4-mixer not supporting PulseAudio). Finally we cleaned up the repository a bit and Sean was kind enough to knock out the 0.2.2 release while I was afk.