You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/xfce-extra/xfce4-linelight-plugin/files/xfce4-linelight-plugin-0.1....

62 lines
2.4 KiB

http://bugs.gentoo.org/411949
http://bugs.ganymede.ch/
http://lionel.lefolgoc.net/misc/01_port-to-xfcerc.patch
--- panel-plugin/linelight.c
+++ panel-plugin/linelight.c
@@ -207,7 +207,7 @@ void linelight_add_list_entry(LineLightD
remove_newline(entry);
GtkTreeIter iter;
- char *icon;
+ const gchar *icon = NULL;
GdkPixbuf *pixbuf;
gtk_list_store_insert(data->list, &iter, data->listPointer[sec]);
@@ -218,13 +218,15 @@ void linelight_add_list_entry(LineLightD
//icon
if (g_file_query_exists (file, NULL) && sec == BIN_SECTION )
{
- XfceDesktopEntry* app = xfce_desktop_entry_new(entry,categories,3);
+ XfceRc* app = xfce_rc_simple_open(entry, TRUE);
- if (app != NULL && xfce_desktop_entry_get_string(app, "Icon", TRUE, &icon) && NULL != (pixbuf= load_icon(icon)))
+ if (app != NULL)
{
- gtk_list_store_set(data->list, &iter, ICON_COL, pixbuf, -1);
- g_object_unref(app);
- free(icon);
+ xfce_rc_set_group(app, G_KEY_FILE_DESKTOP_GROUP);
+ icon = xfce_rc_read_entry(app, G_KEY_FILE_DESKTOP_KEY_ICON, NULL);
+ if (icon != NULL && NULL != (pixbuf= load_icon(icon)))
+ gtk_list_store_set(data->list, &iter, ICON_COL, pixbuf, -1);
+ xfce_rc_close(app);
}
}
else if (file != NULL)
--- panel-plugin/main.c
+++ panel-plugin/main.c
@@ -155,14 +155,15 @@ static void cell_renderer(GtkTreeViewCol
}
else if (strstr(name,".desktop") != NULL) //Application names based on .desktop files
{
- XfceDesktopEntry *application = xfce_desktop_entry_new(path,categories,3);
- if (XFCE_IS_DESKTOP_ENTRY(application))
+ XfceRc *application = xfce_rc_simple_open(path, TRUE);
+ if (application != NULL)
{
- char* app_name;
- xfce_desktop_entry_get_string(application, "Name", TRUE, &app_name);
- g_object_unref(application);
- g_object_set(cell,"text", app_name,NULL);
- free(app_name);
+ const gchar* app_name = NULL;
+ xfce_rc_set_group(application, G_KEY_FILE_DESKTOP_GROUP);
+ app_name = xfce_rc_read_entry(application, G_KEY_FILE_DESKTOP_KEY_NAME, NULL);
+ if (app_name != NULL)
+ g_object_set(cell,"text", app_name, NULL);
+ xfce_rc_close(application);
}
}
else