dapper: a desktop applications autostarter

A little while ago, XFCE released a new version, 4.10, and with it a few changes were introduced. Amongst which is the moving of the starting script (startxfce4), which used to belong to xfce4-util, a package that no longer exists.

So the script got moved to xfce4-session, which is a little problem for me because I don't have that one installed, and I don't want to install it. It's possible I don't know exactly all that a session manager has to offer, but as far as I know what it would provide me is the ability to shutdown/restart the computer from XFCE, which I don't care for since I can/would rather do it from my login shell, or restart whatever applications were running last time I logged out, something I absolutely don't want at all.

So, I don't use a session manager. But because startxfce4 moved to that package, I needed to do something. The easiest thing would have obviously been to just copy that file and keep using it, outside of any packages.

But I wasn't too inclined to do so, because this script does quite a few things, or tries to do them at least, and I figured if I make it my own and need to maintain it, I might as well keep things as simple as possible.

One thing this script did, although not very well, was take care of the autostarting of desktop applications. I say not very well, because it would only look in one folder for .desktop files, thus ignoring quite a few things.

This resulted in things not being autostarted for me (e.g. the PolicyKit authentication agent) unless I manually added it.

A Desktop Applications Autostarter

So I started looking for a simple application autostarter, one that would do just that: as per the FreeDesktop specifications, look up for .desktop files in the different folders, and start whatever needs to be started.

Unfortunately I couldn't find what I was looking for, and that's how dapper was born. dapper does just that, nothing else, and tries to follow the FreeDesktop specifictions.

I say "tries to," only because there are a couple things not implemented (because I don't have a need for them, and am lazy) :

  • Keys StartupNotify and StartupWMClass are not supported.

  • When parsing command line in Exec, field code %c is not supported, and simply removed.

Other than that it will start all that should be started pretty fast, and you can define which desktop to start applications for (e.g. GNOME, XFCE, etc) in configuration file (~/.config/dapper.conf) or from command line.


Maybe this might be useful to some of you, though note that autostarting desktop applications is probably already taken care of if you do use a desktop environment/session manager.

dapper is released under GNU GPL v3+ The source code is available on this BitBucket repository.

You can also find a PKGBUILD in the AUR.

And of course bug reports, suggestions or any other form of constructive criticism is very much welcome.

Top of Page