From 17b300a83857eeed10c14b4c1ec1bb0b9ccb5ff2 Mon Sep 17 00:00:00 2001 From: William Wold Date: Tue, 18 Jun 2019 05:57:35 +0000 Subject: Load and store what platforms applets support --- mate-panel/panel-addto.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'mate-panel/panel-addto.c') diff --git a/mate-panel/panel-addto.c b/mate-panel/panel-addto.c index 6a9d9536..3f6fa11e 100644 --- a/mate-panel/panel-addto.c +++ b/mate-panel/panel-addto.c @@ -397,6 +397,7 @@ panel_addto_query_applets (GSList *list) for (l = applet_list; l; l = g_list_next (l)) { MatePanelAppletInfo *info; const char *iid, *name, *description, *icon; + gboolean enabled; PanelAddtoItemInfo *applet; info = (MatePanelAppletInfo *)l->data; @@ -410,13 +411,29 @@ panel_addto_query_applets (GSList *list) continue; } + enabled = TRUE; +#ifdef HAVE_X11 + if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()) && + !mate_panel_applet_info_get_x11_supported (info)) { + enabled = FALSE; + description = _("Not compatible with X11"); + } +#endif +#ifdef HAVE_WAYLAND + if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()) && + !mate_panel_applet_info_get_wayland_supported (info)) { + enabled = FALSE; + description = _("Not compatible with Wayland"); + } +#endif + applet = g_new0 (PanelAddtoItemInfo, 1); applet->type = PANEL_ADDTO_APPLET; applet->name = g_strdup (name); applet->description = g_strdup (description); applet->icon = g_strdup (icon); applet->iid = g_strdup (iid); - applet->enabled = TRUE; + applet->enabled = enabled; applet->static_data = FALSE; list = g_slist_prepend (list, applet); -- cgit v1.2.1