summaryrefslogtreecommitdiff
path: root/mate-panel/panel-applet-info.c
diff options
context:
space:
mode:
Diffstat (limited to 'mate-panel/panel-applet-info.c')
-rw-r--r--mate-panel/panel-applet-info.c36
1 files changed, 28 insertions, 8 deletions
diff --git a/mate-panel/panel-applet-info.c b/mate-panel/panel-applet-info.c
index 10023ea5..55d91dfd 100644
--- a/mate-panel/panel-applet-info.c
+++ b/mate-panel/panel-applet-info.c
@@ -32,17 +32,20 @@ struct _MatePanelAppletInfo {
gchar *icon;
gchar **old_ids;
+ gboolean x11_supported;
+ gboolean wayland_supported;
};
MatePanelAppletInfo *
mate_panel_applet_info_new (const gchar *iid,
- const gchar *name,
- const gchar *comment,
- const gchar *icon,
- const gchar **old_ids)
+ const gchar *name,
+ const gchar *comment,
+ const gchar *icon,
+ const gchar **old_ids,
+ gboolean x11_supported,
+ gboolean wayland_supported)
{
MatePanelAppletInfo *info;
- int len;
info = g_slice_new0 (MatePanelAppletInfo);
@@ -53,17 +56,22 @@ mate_panel_applet_info_new (const gchar *iid,
/* MateComponent compatibility */
if (old_ids != NULL) {
+ int i, len;
+
len = g_strv_length ((gchar **) old_ids);
if (len > 0) {
- int i;
-
info->old_ids = g_new0 (gchar *, len + 1);
-
for (i = 0; i < len; i++)
info->old_ids[i] = g_strdup (old_ids[i]);
}
}
+ info->x11_supported = x11_supported;
+ info->wayland_supported = wayland_supported;
+
+ if (!x11_supported && !wayland_supported)
+ g_warning ("Applet %s has no supported platforms", name);
+
return info;
}
@@ -111,3 +119,15 @@ mate_panel_applet_info_get_old_ids (MatePanelAppletInfo *info)
{
return (const gchar * const *) info->old_ids;
}
+
+gboolean
+mate_panel_applet_info_get_x11_supported (MatePanelAppletInfo *info)
+{
+ return info->x11_supported;
+}
+
+gboolean
+mate_panel_applet_info_get_wayland_supported (MatePanelAppletInfo *info)
+{
+ return info->wayland_supported;
+}