--- module_gnome.c 2011-03-20 18:14:26.000000000 +0300 +++ ../../../desktopnova-0.8.1-whl/src/modules//module_gnome.c 2011-10-19 04:47:25.993388441 +0400 @@ -16,10 +16,14 @@ */ #include -#include #include +#include +#include +#include #include - +#include +#include + #define _(message) dgettext(GETTEXT_PACKAGE_MODULE_GNOME, message) void module_init() @@ -57,16 +61,22 @@ return "http://launchpad.net/desktopnova"; } +char *uri = NULL; + void module_change_wallpaper(const gchar * filename) { - GConfClient * gconf_client = gconf_client_get_default(); - if (gconf_client != NULL) - { - gconf_client_set_string(gconf_client, - "/desktop/gnome/background/picture_filename", - filename, NULL); - g_object_unref(gconf_client); - } + + if(uri != NULL) g_free(uri); + uri = g_malloc(strlen(filename) + 8); + if(uri == NULL) return; + sprintf(uri,"file://"); + strcat(uri,filename); + + GSettings *settings; + settings = g_settings_new((gchar *)"org.gnome.desktop.background"); + g_settings_set_string(settings,(gchar *)"picture-uri",uri); + + } #undef _