Category Archives: Xfce

Another bugfix release for xfce4-notifyd: 0.3.3 is out!

notifydWhile 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 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!

Improved media-key handling with xfce4-volumed-pulse 0.2.2


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

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 and bugs are tracked on

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.

Anyway, without further ado here’s the code:

PS: It might be worth noting that if you’re using the xfce4-pulseaudio-plugin you already have your volume keys handled by it.

xfce4-clipman 1.4.0 (Gtk3 port) and libxfce4ui 4.13.1 released!

clipmanxfce4-clipman-plugin 1.4.0 released

So finally I’ve decided to release xfce4-clipman-plugin 1.4.0, which is the Gtk+3 port of the plugin. For a while I was unsure whether to do a development or a stable release – to be clear: this was not a decision based on the stability of the product itself but the fact that it relied on the development release of a Xfce core component (libxfce4ui-4.13.0). However I decided to revert the commit that introduced the dependency (I will apply it again latest when 4.14 is out).

As the port is a 1:1 port there are practically no new features. The only notable difference is that the panel plugin’s icon is now a symbolic icon.

Thanks to Eric, Steve and Florian for helping me get this off the ground!

libxfce4uilibxfce4ui 4.13.1

This is only a smaller bugfix release that replaces a deprecated call and – more importantly – fixes the default theming of XfceHeading in all Gtk+3 settings dialogs of Xfce.

Featurette: xfce4-notifyd 0.3.2 released

This release came a bit sooner than expected, but it’s primary goal is to fix a showstopper regression which slipped into 0.3.1 and practically rendered xfce4-notifyd useless on systems with Gtk+3 <=3.18 (i.e. not showing any notifications). Thanks to Olivier for noticing immediately and posting a patch!

the “Retro” and “Bright” themes

But while this had to be a fast release I still managed to put in some feature-goodness. For instance I came through on my promise to add more default themes and in this release I added “Retro” and “Bright“.

(symbolic) audio volume icon recolored ZOMG-PONIES! style

The biggest feature in this release however is the support for symbolic icons. For those of you who haven’t heard of the feature before: it’s basically Gtk+ coloring your icon with the color of the font of that particular context, so the icon will color-wise match the font. This is especially useful for monochrome icons and (usually) prevents white-on-white scenarios. It also gives users and theme-makers more freedom (instead of having a “dark panel” or a separate “dark notifications” variant of an icon-theme). Note that your notification-sending application also has to request a symbolic icon, xfce4-notifyd is not enforcing symbolic icons.

Another notable fix (that I forgot to mention in the release notes) is the fix of styles of the progressbars in notifications. Those were not styled according to the notifyd-theme selected but always used the style of the base (as in: screen-wide) Gtk+ theme.

Finally, a minor improvement is that all themes are now sorted alphabetically in the Settings Dialog.

With this bugfix release out of the way it won’t be long until I merge my feature branch and get more testing for the “Do not disturb” mode.


Bugfixes incoming: xfce4-notifyd 0.3.1 released!


More good news in notification-land: I just released a new version of xfce4-notifyd – aka 0.3.1 – which fixes some nasty issues, amongst others

  • memory leaks (thanks Tony!)
  • an issue which caused build problems on Gtk<=3.18 systems (thanks Michał!)

I also added a Help button which links to the docs I wrote for notifyd a while ago:

I hope this will make 0.3 smoother in everyone’s daily usage and the Gtk+3 port more regression-free.

Read more here:

Upcoming changes

On the plate for the next release are more default themes (hint: “Retro” has already been pushed to git master) and pootentially the per-application settings and “Do not disturb” mode which I previously teased. The latter might also warrant a major version number bump so we’ll see whether it’ll really end up in 0.3.2.

Stay tuned!

Preview: Per application settings and Do-not-disturb mode in xfce4-notifyd

Per application settingsAs previously announced I’ve been working on per-application settings and a “Do not disturb” mode for xfce4-notifyd, which is Xfce’s notification daemon.

Finally I’ve come to a point where I’m ok with pointing to the code and encouraging people to try it and spot potential issues with it. As both of these features have been long-time requested I hope it’ll Do not disturb modemake quite a few people happy. I know I’ve been quite happy myself since I can use it 🙂

The way that the “known applications” are handled by xfce4-notifyd is that they are remembered once they have sent an application. This means that you can only mute applications which have – at some point since you’ve been running the code from the branch – actually sent notifications. I’ve been previously thinking about trying to collect all potential candidates somehow but this turned out too pesky and personally I think most users will want to mute those applications that send notifications often and those will quickly appear in that (alphabetically sorted) list.

Caveats: Some of this isn’t final – I might still be updating the wording on some of the labels or even some of the functionality might be amended a little, but generally I’m quite pleased with how things are working. Furthermore there may be memory leaks, I just haven’t had the time to really get to that (bugreports and patches are warmly welcomed ;)).

If you have feedback or suggestions please feel free to add some comments to this post or contact me on other communication channels.

So here’s the code:

Related bugreports:

Xfce goings on (Gtk+3 port etc.)

So I’ve been busy lately porting Xfce apps and components to Gtk+3 (you can see on the roadmap page for 4.14 that we’ve come some way already – only the really uncomfortable behemoths are missing 🙂 ) and since I’ve been working on apps which I haven’t touched before (and which haven’t really seen much or any development in a while).

I thought I’d do a quick overview of some of my recent activities so everyone knows Xfce is still alive.

gtk-paste  clipman

I have ported clipman to Gtk+3 mostly as an exercise, to get back to coding and to re-acquaint myself with the “fun” that is porting to Gtk+3 (including the obligatory #ifdefs for different Gtk+3 releases).

I didn’t really have the energy to add any new features there (apart from general Gtk+3 stuff like symbolic icons, which is nice for the panel plugin), but it had the intended effect for me plus Eric and Florian helped out, which made it more fun. In the end we even got Steve to sit down and crank out a very nice fix for an extremely widespread issue in Xfce.

notifyconf  notifyd

Basically Ali did all the hard work of porting notifyd to Gtk+3. I was left with the hard work of polishing the edges and making it release-ready (which ended up being much more work than I anticipated and now that I’m mostly familiar with the codebase I’ve also started to add – for now: small – features). So yeah, 0.3.0 is out! Hooray! 🙂

I also managed to write down some basic docs for notifyd (they’ll be linked to in the 0.3.1 release) which also explains the theming aspect a little bit.

For now I’ve planned some features – we’ll see when and if I get to them, but amongst others:

  • “Do not disturb” mode (still have to figure out where and how to display the “missed” stuff or whether to bother with that at all)
  • More themes by default (currently we only have good ‘ol Smoke and evergreen ZOMG PONIES!)
  • More bugfixing
  • Better docs

preferences-desktop  settings

This is actually Sean’s project and he already ported most of the dialogs (only display missing at the time of writing) and this is really exciting as it is one of the core components. Can’t wait to install this beast on a productive machine to see what will happen 🙂

libxfce4ui  libxfce4ui

I didn’t do much here apart from handling the release and fixing the theming of XfceTitledDialog for Gtk3.20 (and below) in accordance with the Gtk+ Devs (still unreleased, will come with libxfce4ui-4.13.1). Generally speaking now that Glade support is fixed and we have working dialogs I guess there’s not much more to do in that lib (I may be wrong though).

terminal  terminal

This is Igor’s playground now, I merely helped with porting the settings dialog and getting rid of some rough edges there. I’m using the Gtk+3 port of the terminal on a daily basis though and am very happy with it – nice work Igor! 🙂

Road to Xfce 4.14

The looong road to xfce 4.14. I hope you still want some news about Xfce !
As usual, the xfce development is slow, has some organisation problems (only few members have access to servers, and are often not present), and lack “core” maintainers/mentors. But hey, we do our best :).

The bigger change for 4.14 is the port / upgrade to GTK+ 3.x.
It will be a like-for-like port. New and “big” features are postponed to 4.16.

You can read the thread on the ML about the decision of only port to gtk3 and not introduce any new features for now.

The roadmap is available on the Wiki : The minimum requiered version has been fixed to be GTK+ 3.14.

Roadmap / Planned Features :

  • All components of -core will be ported to Gtk+ 3.
  • Replace dbus-glib with GDbus.
  • Review icon-names in all components and use consistent naming, following the fd.o spec where possible
  • Use symbolic icons for panel plugins and in apps where suitable
  • Replace deprecated widgets.

Here is a quick (and somewhat incomplete) overview of what is already done !

Core components

Work is on progress for core components, with “users” branches availables on (xfce4-panel, libxfce4ui, xfce4-session, panel etc). Nothing really available for daily use though.

Lots of works on xfwm4’ compositor (in master), with implementation of vsync using OpenGL, libepoxy support, adding of DRI3/Present to the compositor, use of GLX for compositing instead of Xrender…

Libxfce4ui 4.12 already compile with gtk2 and gtk3 support, exo git master have a gtk3 preliminary support, garcon is already ported. xfdesktop have a gtk3 branch

The panel support GTK-3 plugins since 4.12, but it core need to be upgraded to use gtk3.


One of the most active project. Version 1.6 (released last month) is a complete port to gtk3 and gdbus, see


A GTK3 branch exist, you can read the thread on the ML : I use it since few months, and it works pretty well :)


xfce4-appfinder progress to gtk3 :
Can you guess which one use GTK3 ? (hint: the left one ;)) xfce4-appfinder gtk3


Some plugins are still active, and are already ported to GTK-3 (xfce4-indicator-plugin, xfce4-pulseaudio-plugin), as xfce4-panel support both gtk2 and gtk3 plugins.

Last months have seen new versions of xfce4-equake-plugin, xfce4-embed-plugin, xfce4-verve-plugin, xfce4-notes-plugin, xfce4-cpufreq-plugin.

One of the more usefull new plugin is the pulseaudio-plugin, a replacement for xfce4-mixer :, I use it and it works well.

xfce4-notifyd gtk3

Stay tuned !

News from Xfce 4.12, part 3

A bunch of news from the development of Xfce 4.12 !
Since my previous post in november (read it !) , many things have happened.
First, the most awaited news ... wait for it... a date has been decided ! 4.12 will released by the last week end of February 2015 ! (yes, 1 week from now)

Now, I would like to draw your attention to a list of threads on the xfce4-dev mailist :

Core Apps :

xfce4-panel :

  • The intelligent panel hiding feature (see my previous post) has been released in 4.11.2 !

xfwm4 :

Oh wow, many commits, such features ! You can read the 4.11.3 announcement here

  • Add titleless maximization feature.
  • Client Side Decoration (CSD) support ! (Compositor need to be enabled). A screenshot with and without on gedit (an application that need CSD) CSD on xfwm4
  • Windows preview in alt+tab (Compositor need to be enabled too). Windows preview in alttab
  • Nice, right ? :)

xfce4-settings :

  • Release of 4.11.4
  • Add touchpad support with libinput (yes, already !)
  • Better monitor and multi monitor support
  • Add Gtk+ theme palettes in the appearance dialog (see screenshot)
  • Add previews for icon themes in appearance settings (see screenshot) Themes and icons preview

xfce4-session :

  • Bugfixes, bugfixes, bugfixes !
  • The "logind runtime detection to support suspend/hibernate" patch has been merged.
  • Release of 4.11.1

thunar :

  • Add support for the GTK 3 bookmarks file,
  • Bugfixes, support for binary file size units
  • Release of 1.6.4

gtk-xfce-engine :

xfce4-dev-tools :

  • Fixes, dependencies update etc
  • Release of 4.11.1

xfconf :

  • Not many exciting changes for this release, mostly translation updates, small fixes and code tweaks.. 4.11.0

Apps :

xfce4-screenshooter :

  • Support of imgur uploads ! Yes ! imgur upload
  • Release of 1.8.2 . Thank gaston !

xfce4-taskmanager :

  • Big cleanup of UI, with new treeview mode, general UI/graph overhaul and lot of bugfixes) xfce4-taskmanager
  • Release of 1.1.0 with all theses changes. Thanks gaston, ochosi and Cavalier

xfce4-power-manager :

Panel Plugins :

Some love for panel plugins, from Harald Judt and Landry Breuil, mostly build/bugfixes and translations updates :

As you can see, xfce development is more active than ever !
So be prepared to be amazed by 4.12 in a few weeks !

Sources :

News from xfce 4.12, part 2 !

Update 19/02/2015 : A new post is available !

Following my first post about the Xfce development status 4 months ago (you can (re) read it here), let's go for a bunch of reviews of the last commits.

A little clarifications about comments on my 1st post : I'm NOT a core xfce dev, I'm just a small contributor, who try to help as much as I can.

Note: You can see lots of screenshots about all theses news features on the xfce forum, in the What's New in Xfce topic from ToZ.

xfce4-power-manager :

  • A new xfce4-power-manager release (compatible with xfce 4.10), thanks to Eric Koegell and Simon Steinbeiss
  • Provide a better support of systemd and upower
  • Brightness plugin has been merged into the battery indicator plugin so a new plugin is born, "Power Manager plugin"
  • Some design changes, see screenshots
  • The roadmap to 1.5 :

xfdesktop :

  • Add a --next option to force wallpaper changes
  • Add a move to trash menu option
  • Add an --enable-debug option added to xfdesktop-settings
  • Add optional blurring on shadow on text of icons, see Screenshots

xfce4-panel :

  • Implementation of a intelligent auto-hide functionality by Jannis Pohlmann !
  • Whenever the active window changes or whenever the geometry of an already active window changes, the algorithm checks whether the active window and the panel overlap. If this is the case, the panel is hidden. Otherwise, it is made or remains visible.
  • A quick demo (only available in git version for now)

xfce4-session :

  • Add logind runtime detection to support suspend/hibernate
  • Support for upower 0.99
  • Add DragonflyBSD to host check

xfce4-settings :

  • Reapply settings when external keyboard connects
  • New display settings dialog
  • Add support for upower 0.99

Thunar :

  • Default application not respected with glib >= 2.4
  • Check for thumbnails in the location
  • Add appdata file
  • Add pkexec policy. This way if the user of a desktop system wants to use thunar to modify files as root and has the proper credentials they can.

Apps / Plugins :

  • Mousepad and Parole have been ported to gtk3 !
  • Partial rewrite of squeeze (Archive manager)
  • Multiples releases/bugfixes of xfce4-netload-plugin, xfce4-weather-plugin, xfce4-equake-plugin

Development Releases of core components :

Maintenances/New Releases (for xfce 4.10 ) :

Others :

  • A side note about light-locker, a simple session-locker for lightdm, which work really great with xfce :). If you want a nice and modern locker, try it !
  • Debian Jessie will use xfce 4.10 (as 4.12 is not ready on 5th November, the date of Debian Freeze)
  • If you are an ArchLinux user, and want to test the devel version of xfce, you can use my [xfce411] repo. NO WARRANTY, support or whatever ! Use it at your own risks. Read the README ;)
  • Last minute : A reorganisation of the team is running, to list our current force, identify weak spots (where we urgently need new contributors), welcome new members etc. See for more informations !

Sources :

  • Thanks to ToZ on the xfce forum
  • The #xfce-dev IRC chan on Freenode, the best way to be involved in Xfce development
  • Xfce4 dev list