summaryrefslogtreecommitdiff
path: root/mate-panel/panel-addto.c
diff options
context:
space:
mode:
authorWilliam Wold <[email protected]>2019-06-18 05:57:35 +0000
committerraveit65 <[email protected]>2019-06-20 08:15:12 +0200
commit17b300a83857eeed10c14b4c1ec1bb0b9ccb5ff2 (patch)
tree5bb4182424fe04c65d915c01d1871c93a248eca7 /mate-panel/panel-addto.c
parentd6f085fe853cedcf612c0b4a8b3a40585414dfa4 (diff)
downloadmate-panel-17b300a83857eeed10c14b4c1ec1bb0b9ccb5ff2.tar.bz2
mate-panel-17b300a83857eeed10c14b4c1ec1bb0b9ccb5ff2.tar.xz
Load and store what platforms applets support
Diffstat (limited to 'mate-panel/panel-addto.c')
-rw-r--r--mate-panel/panel-addto.c19
1 files changed, 18 insertions, 1 deletions
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);