YES, you can set up a gconf monitor. You can specify a callback method, and it will call you back when the actual desktop has been changed. You can checkout Sticky Notes to see how. The actual relevant code is in this file. (Added to Sticky Notes via svn:externals.) If you have questions about it, just ask. Note that there is also a Qt-based gconf client in libqg. (Part of MAFW), though I preferred to use gconf directly.