- e16 / e17 module
- documentation (yelp?)
- more translations
- file list cache
- change wallpaper smoothly


- free thread
==20602== 136 bytes in 1 blocks are possibly lost in loss record 1 of 19
==20602==    at 0x4023DE2: calloc (vg_replace_malloc.c:397)
==20602==    by 0x4010A1B: _dl_allocate_tls (in /lib/ld-2.8.90.so)
==20602==    by 0x42F9672: pthread_create@@GLIBC_2.1 (in /lib/tls/i686/cmov/libpthread-2.8.90.so)
==20602==    by 0x446DD5A: (within /usr/lib/libgthread-2.0.so.0.1800.2)
==20602==    by 0x42A07FE: g_thread_create_full (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x804C2F4: init_dbus (dbus-server.c:63)
==20602==    by 0x804ACC5: main (desktopnova-daemon.c:740)

- unknown memory leak (glib?)
==20602== 40 bytes in 5 blocks are indirectly lost in loss record 3 of 19
==20602==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==20602==    by 0x44018DB: __nss_lookup_function (in /lib/tls/i686/cmov/libc-2.8.90.so)
==20602==    by 0x4032F7B: ???
==20602==    by 0x4033CBE: ???
==20602==    by 0x43A8CB1: getpwnam_r (in /lib/tls/i686/cmov/libc-2.8.90.so)
==20602==    by 0x42AB765: (within /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42ABCD8: (within /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42AC2AA: g_get_user_config_dir (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x804AF26: get_app_dir (general.c:26)
==20602==    by 0x804A735: check_pid_file (desktopnova-daemon.c:423)
==20602==    by 0x804AD0A: main (desktopnova-daemon.c:749)

- free xml parser
==20602== 48 bytes in 2 blocks are still reachable in loss record 4 of 19
==20602==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==20602==    by 0x40DC912: xmlNewMutex (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x40DC2B6: xmlInitGlobals (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x4065B46: xmlInitParser (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407BEBA: xmlSAXParseFileWithData (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407BFC6: xmlSAXParseFile (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407C020: xmlParseFile (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x804B017: load_settings (general.c:77)
==20602==    by 0x804AB48: initial_setup (desktopnova-daemon.c:537)
==20602==    by 0x804AD3B: main (desktopnova-daemon.c:755)

-some leaks
==20602== 84 bytes in 1 blocks are still reachable in loss record 7 of 19
==20602==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==20602==    by 0x40DC8A2: xmlNewRMutex (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x413B098: xmlDictCreate (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x4061922: xmlInitParserCtxt (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x4061BA1: xmlNewParserCtxt (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x40641A1: xmlCreateURLParserCtxt (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x4064278: xmlCreateFileParserCtxt (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407BEC5: xmlSAXParseFileWithData (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407BFC6: xmlSAXParseFile (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407C020: xmlParseFile (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x804B017: load_settings (general.c:77)
==20602==    by 0x804AB48: initial_setup (desktopnova-daemon.c:537)
==20602== 
==20602== 
==20602== 160 bytes in 8 blocks are still reachable in loss record 8 of 19
==20602==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==20602==    by 0x405E232: xmlNewCharEncodingHandler (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x405D9BC: xmlInitCharEncodingHandlers (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x4065B5C: xmlInitParser (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407BEBA: xmlSAXParseFileWithData (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407BFC6: xmlSAXParseFile (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407C020: xmlParseFile (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x804B017: load_settings (general.c:77)
==20602==    by 0x804AB48: initial_setup (desktopnova-daemon.c:537)
==20602==    by 0x804AD3B: main (desktopnova-daemon.c:755)
==20602== 
==20602== 
==20602== 200 bytes in 1 blocks are still reachable in loss record 9 of 19
==20602==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==20602==    by 0x405D8DE: xmlInitCharEncodingHandlers (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x4065B5C: xmlInitParser (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407BEBA: xmlSAXParseFileWithData (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407BFC6: xmlSAXParseFile (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x407C020: xmlParseFile (in /usr/lib/libxml2.so.2.6.32)
==20602==    by 0x804B017: load_settings (general.c:77)
==20602==    by 0x804AB48: initial_setup (desktopnova-daemon.c:537)
==20602==    by 0x804AD3B: main (desktopnova-daemon.c:755)
==20602== 
==20602== 
==20602== 1,084 bytes in 29 blocks are possibly lost in loss record 10 of 19
==20602==    at 0x4023DE2: calloc (vg_replace_malloc.c:397)
==20602==    by 0x427ED0B: g_malloc0 (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x4223423: (within /usr/lib/libgobject-2.0.so.0.1800.2)
==20602==    by 0x4223495: (within /usr/lib/libgobject-2.0.so.0.1800.2)
==20602==    by 0x4225AE7: g_type_init_with_debug_flags (in /usr/lib/libgobject-2.0.so.0.1800.2)
==20602==    by 0x4225C61: g_type_init (in /usr/lib/libgobject-2.0.so.0.1800.2)
==20602==    by 0x804ACBB: main (desktopnova-daemon.c:736)
==20602== 
==20602== 
==20602== 1,824 bytes in 19 blocks are still reachable in loss record 11 of 19
==20602==    at 0x4023DE2: calloc (vg_replace_malloc.c:397)
==20602==    by 0x41F018A: dbus_malloc0 (in /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41F029E: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41EEB1B: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41EEB81: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41EEC08: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41CC478: dbus_parse_address (in /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41D6525: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41D0D5E: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41B1A4C: dbus_g_bus_get (in /usr/lib/libdbus-glib-1.so.2.1.0)
==20602==    by 0x804C242: init_dbus (dbus-server.c:52)
==20602==    by 0x804ACC5: main (desktopnova-daemon.c:740)
==20602== 
==20602== 
==20602== 2,203 bytes in 56 blocks are still reachable in loss record 12 of 19
==20602==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==20602==    by 0x41F01C2: dbus_malloc (in /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41E97EC: dbus_threads_init (in /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41F299F: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41E9636: dbus_threads_init_default (in /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41BDA24: dbus_g_thread_init (in /usr/lib/libdbus-glib-1.so.2.1.0)
==20602==    by 0x804ACC0: main (desktopnova-daemon.c:737)
==20602== 
==20602== 
==20602== 2,624 bytes in 58 blocks are still reachable in loss record 13 of 19
==20602==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==20602==    by 0x4025EAF: realloc (vg_replace_malloc.c:429)
==20602==    by 0x427EC69: g_realloc (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42621B8: g_quark_from_static_string (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x4225A70: g_type_init_with_debug_flags (in /usr/lib/libgobject-2.0.so.0.1800.2)
==20602==    by 0x4225C61: g_type_init (in /usr/lib/libgobject-2.0.so.0.1800.2)
==20602==    by 0x804ACBB: main (desktopnova-daemon.c:736)
==20602== 
==20602== 
==20602== 3,048 bytes in 35 blocks are still reachable in loss record 14 of 19
==20602==    at 0x4025E4C: realloc (vg_replace_malloc.c:429)
==20602==    by 0x427EC69: g_realloc (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x424F73F: (within /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x424F824: g_array_set_size (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42A12A0: g_static_private_set (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42AB3C0: g_get_language_names (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x446E68C: g_thread_init (in /usr/lib/libgthread-2.0.so.0.1800.2)
==20602==    by 0x804ACB6: main (desktopnova-daemon.c:735)
==20602== 
==20602== 
==20602== 3,874 bytes in 243 blocks are still reachable in loss record 15 of 19
==20602==    at 0x4025D2E: malloc (vg_replace_malloc.c:207)
==20602==    by 0x427ED83: g_malloc (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x446E39E: (within /usr/lib/libgthread-2.0.so.0.1800.2)
==20602==    by 0x42A1578: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x446E68C: g_thread_init (in /usr/lib/libgthread-2.0.so.0.1800.2)
==20602==    by 0x804ACB6: main (desktopnova-daemon.c:735)
==20602== 
==20602== 
==20602== 6,048 bytes in 12 blocks are possibly lost in loss record 16 of 19
==20602==    at 0x4023C4A: memalign (vg_replace_malloc.c:460)
==20602==    by 0x4023CFE: posix_memalign (vg_replace_malloc.c:569)
==20602==    by 0x4294352: (within /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x4295B32: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x424F8AE: g_array_sized_new (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x424F9C6: g_array_new (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42A1323: g_static_private_set (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x425F37F: g_get_filename_charsets (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x425F3F0: (within /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42A15DC: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x446E68C: g_thread_init (in /usr/lib/libgthread-2.0.so.0.1800.2)
==20602==    by 0x804ACB6: main (desktopnova-daemon.c:735)
==20602== 
==20602== 
==20602== 6,414 bytes in 16 blocks are still reachable in loss record 17 of 19
==20602==    at 0x4025E4C: realloc (vg_replace_malloc.c:429)
==20602==    by 0x41F0147: dbus_realloc (in /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41F0CEE: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41F17FB: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41CEFB2: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41CF089: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41EADBC: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41EAF01: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41EC1E6: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41EC364: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41EA958: (within /lib/libdbus-1.so.3.4.0)
==20602==    by 0x41D6588: (within /lib/libdbus-1.so.3.4.0)
==20602== 
==20602== 
==20602== 14,968 bytes in 49 blocks are still reachable in loss record 18 of 19
==20602==    at 0x4023C4A: memalign (vg_replace_malloc.c:460)
==20602==    by 0x4023CFE: posix_memalign (vg_replace_malloc.c:569)
==20602==    by 0x4294352: (within /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x4295B01: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x424F8AE: g_array_sized_new (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x424F9C6: g_array_new (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42A1323: g_static_private_set (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x425F37F: g_get_filename_charsets (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x425F3F0: (within /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42A15DC: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x446E68C: g_thread_init (in /usr/lib/libgthread-2.0.so.0.1800.2)
==20602==    by 0x804ACB6: main (desktopnova-daemon.c:735)
==20602== 
==20602== 
==20602== 18,092 bytes in 227 blocks are still reachable in loss record 19 of 19
==20602==    at 0x4023DE2: calloc (vg_replace_malloc.c:397)
==20602==    by 0x427ED0B: g_malloc0 (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42A03C3: g_thread_self (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x42A156E: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.1800.2)
==20602==    by 0x446E68C: g_thread_init (in /usr/lib/libgthread-2.0.so.0.1800.2)
==20602==    by 0x804ACB6: main (desktopnova-daemon.c:735)

