+ gchar *desktop_file = NULL;
+
+ desktop_file = g_strdup_printf ("%s/%s", CL_LAUNCHER_DESKTOP_DATADIR, filename);
+ if (desktop_file) {
+ dfinfo = get_desktop_file_info (desktop_file);
+ if (dfinfo) {
+ if (!dfinfo->icon) {
+ dfinfo->icon = g_strdup ("tasklaunch_default_application");
+ }
+
+ icon_info = gtk_icon_theme_lookup_icon (icon_theme, dfinfo->icon, 48,
+ GTK_ICON_LOOKUP_NO_SVG);
+ if (icon_info) {
+ const gchar *fname = gtk_icon_info_get_filename (icon_info);
+ icon_pixbuf = gdk_pixbuf_new_from_file_at_size (fname, 48, 48, 0);
+ gtk_icon_info_free (icon_info);
+ }
+
+ /* fill application store */
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter,
+ SELECTOR_COLUMN_NAME, dfinfo->name,
+ SELECTOR_COLUMN_ICON, icon_pixbuf,
+ SELECTOR_COLUMN_FILENAME, filename,
+ SELECTOR_COLUMN_OSSO_SERVICE, dfinfo->osso_service,
+ SELECTOR_COLUMN_EXEC, dfinfo->exec,
+ -1);
+
+ if (is_empty == TRUE)
+ is_empty = FALSE;
+
+ if (icon_pixbuf)
+ g_object_unref (icon_pixbuf);
+
+ g_free (dfinfo);
+ }
+ g_free (desktop_file);
+ }
+ }
+ }
+ g_dir_close (dir);
+ }
+
+ return is_empty;
+}