Add backward compatibility for "wnckpager" - "pager" represents it.
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Sat, 15 Feb 2014 16:08:14 +0000 (18:08 +0200)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Sat, 15 Feb 2014 16:13:58 +0000 (18:13 +0200)
Though new "pager" represents itself as "wnckpager" as well, it will be
not included second time in "Add plugin" dialog due to 'deprecated' flag.

src/configurator.c
src/plugin.h
src/plugins/pager.c

index 42ab9eb..3a91e3d 100644 (file)
@@ -717,6 +717,8 @@ static void on_add_plugin( GtkButton* btn, GtkTreeView* _view )
     while(g_hash_table_iter_next(&iter, &key, &val))
     {
         register LXPanelPluginInit *init = val;
+        if (init->superseded)
+            continue;
         if (!init->one_per_system || !_class_is_present(init))
         {
             GtkTreeIter it;
index 6dad0cf..530c85c 100644 (file)
@@ -53,6 +53,7 @@ typedef struct {
     int one_per_system : 1;     /* True to disable more than one instance */
     int expand_available : 1;   /* True if "stretch" option is available */
     int expand_default : 1;     /* True if "stretch" option is default */
+    int superseded : 1;         /* True if plugin was superseded by another */
     /*< private >*/
     gpointer _reserved1;
     gpointer _reserved2;
index 9952b49..1b971ad 100644 (file)
@@ -80,10 +80,25 @@ static void pager_panel_configuration_changed(Panel *panel, GtkWidget *p)
     on_realize(p, panel);
 }
 
+static LXPanelPluginInit wnck_pager = {
+    .name = N_("Desktop Pager"),
+    .description = N_("Simple pager plugin"),
+
+    .superseded = TRUE,
+    .new_instance = pager_constructor,
+    .reconfigure = pager_panel_configuration_changed
+};
+
+static void pager_wnck_init(void)
+{
+    lxpanel_register_plugin_type("wnckpager", &wnck_pager);
+}
+
 LXPanelPluginInit lxpanel_static_plugin_pager = {
     .name = N_("Desktop Pager"),
     .description = N_("Simple pager plugin"),
 
+    .init = pager_wnck_init,
     .new_instance = pager_constructor,
     .reconfigure = pager_panel_configuration_changed
 };