[Xfce4-commits] <xfce4-power-manager:eric/bugzilla-patches> Update to XFCE_PANEL_PLUGIN_REGISTER
Eric Koegel
noreply at xfce.org
Sun Jan 19 09:52:01 CET 2014
Updating branch refs/heads/eric/bugzilla-patches
to f1bf6f36e19bf38f149e22dc5a4f34f4b9e07eed (commit)
from 9cae533cfd76113651330811c73f54691608aab4 (commit)
commit f1bf6f36e19bf38f149e22dc5a4f34f4b9e07eed
Author: Eric Koegel <eric.koegel at gmail.com>
Date: Mon Jan 13 15:42:42 2014 +0300
Update to XFCE_PANEL_PLUGIN_REGISTER
Updates from the per-4.8 panel registration method. Also updates
the gtk about function for the new field and updates the makefile
for the plugin.
common/xfpm-common.c | 4 +-
panel-plugins/brightness/Makefile.am | 31 +++++++---
panel-plugins/brightness/brightness-button.c | 7 +--
panel-plugins/brightness/brightness-plugin.c | 62 +++++++++++++++++---
.../xfce4-brightness-plugin.desktop.in.in | 3 +-
5 files changed, 83 insertions(+), 24 deletions(-)
diff --git a/common/xfpm-common.c b/common/xfpm-common.c
index eca2ed5..ecfc6c9 100644
--- a/common/xfpm-common.c
+++ b/common/xfpm-common.c
@@ -151,10 +151,10 @@ xfpm_about (GtkWidget *widget, gpointer data)
"destroy-with-parent", TRUE,
"documenters", documenters,
"license", XFCE_LICENSE_GPL,
- "name", package,
+ "program-name", package,
"translator-credits", _("translator-credits"),
"version", PACKAGE_VERSION,
- "website", "http://goodies.xfce.org",
+ "website", "http://goodies.xfce.org/projects/applications/xfce4-power-manager",
NULL);
}
diff --git a/panel-plugins/brightness/Makefile.am b/panel-plugins/brightness/Makefile.am
index 33836b0..a89ca8b 100644
--- a/panel-plugins/brightness/Makefile.am
+++ b/panel-plugins/brightness/Makefile.am
@@ -1,12 +1,24 @@
-plugindir = $(libdir)/xfce4/panel-plugins
-plugin_PROGRAMS = xfce4-brightness-plugin
+INCLUDES = \
+ -I$(top_srcdir) \
+ -DG_LOG_DOMAIN=\"xfce4-brightness-plugin\" \
+ -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
+ $(PLATFORM_CPPFLAGS)
-xfce4_brightness_plugin_SOURCES = \
+#
+# xfce4 brightness plugin
+#
+plugin_LTLIBRARIES = \
+ libxfce4brightness.la
+
+plugindir = \
+ $(libdir)/xfce4/panel/plugins
+
+libxfce4brightness_la_SOURCES = \
brightness-plugin.c \
brightness-button.c \
brightness-button.h
-xfce4_brightness_plugin_CFLAGS = \
+libxfce4brightness_la_CFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/src \
-DLOCALEDIR=\"$(localedir)\" \
@@ -19,11 +31,14 @@ xfce4_brightness_plugin_CFLAGS = \
$(PLATFORM_CPPFLAGS) \
$(PLATFORM_CFLAGS)
-xfce4_brightness_plugin_LDFLAGS = \
- -no-undefined \
- $(PLATFORM_LDFLAGS)
+libxfce4brightness_la_LDFLAGS = \
+ -avoid-version \
+ -module \
+ -no-undefined \
+ -export-symbols-regex '^xfce_panel_module_(preinit|init|construct)' \
+ $(PLATFORM_LDFLAGS)
-xfce4_brightness_plugin_LDADD = \
+libxfce4brightness_la_LIBADD = \
$(top_builddir)/common/libxfpmcommon.la \
$(LIBXFCE4PANEL_LIBS) \
$(LIBXFCE4UI_LIBS) \
diff --git a/panel-plugins/brightness/brightness-button.c b/panel-plugins/brightness/brightness-button.c
index bd466c9..8c527bf 100644
--- a/panel-plugins/brightness/brightness-button.c
+++ b/panel-plugins/brightness/brightness-button.c
@@ -619,12 +619,9 @@ void brightness_button_show (BrightnessButton *button)
GtkWidget *mi;
g_return_if_fail (BRIGHTNESS_IS_BUTTON (button));
-
- gtk_container_add (GTK_CONTAINER (button->priv->plugin),
- GTK_WIDGET (button));
-
+
xfce_panel_plugin_add_action_widget (button->priv->plugin, GTK_WIDGET (button));
-
+
button->priv->image = gtk_image_new ();
gtk_container_add (GTK_CONTAINER (button), button->priv->image);
diff --git a/panel-plugins/brightness/brightness-plugin.c b/panel-plugins/brightness/brightness-plugin.c
index f7e84d0..3df91dc 100644
--- a/panel-plugins/brightness/brightness-plugin.c
+++ b/panel-plugins/brightness/brightness-plugin.c
@@ -34,14 +34,60 @@
#include "brightness-button.h"
-static void
-register_brightness_plugin (XfcePanelPlugin *plugin)
+/* plugin structure */
+typedef struct
{
- GtkWidget *button;
-
- button = brightness_button_new (plugin);
-
- brightness_button_show (BRIGHTNESS_BUTTON (button));
+ XfcePanelPlugin *plugin;
+
+ /* panel widgets */
+ GtkWidget *ebox;
+ GtkWidget *brightness_button;
}
+BrightnessPlugin;
+
+/* prototypes */
+static void brightness_plugin_construct (XfcePanelPlugin *plugin);
+
+
+/* register the plugin */
+XFCE_PANEL_PLUGIN_REGISTER (brightness_plugin_construct);
+
+
+static BrightnessPlugin *
+brightness_plugin_new (XfcePanelPlugin *plugin)
+{
+ BrightnessPlugin *brightness_plugin;
+
+ /* allocate memory for the plugin structure */
+ brightness_plugin = panel_slice_new0 (BrightnessPlugin);
+
+ /* pointer to plugin */
+ brightness_plugin->plugin = plugin;
+
+ /* pointer to plugin */
+ brightness_plugin->plugin = plugin;
-XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL(register_brightness_plugin);
+ /* create some panel ebox */
+ brightness_plugin->ebox = gtk_event_box_new ();
+ gtk_widget_show (brightness_plugin->ebox);
+ gtk_event_box_set_visible_window (GTK_EVENT_BOX(brightness_plugin->ebox), FALSE);
+
+ brightness_plugin->brightness_button = brightness_button_new (plugin);
+ brightness_button_show(BRIGHTNESS_BUTTON(brightness_plugin->brightness_button));
+ gtk_container_add (GTK_CONTAINER (brightness_plugin->ebox), brightness_plugin->brightness_button);
+
+ return brightness_plugin;
+}
+
+
+static void
+brightness_plugin_construct (XfcePanelPlugin *plugin)
+{
+ BrightnessPlugin *brightness_plugin;
+
+ /* create the plugin */
+ brightness_plugin = brightness_plugin_new (plugin);
+
+ /* add the ebox to the panel */
+ gtk_container_add (GTK_CONTAINER (plugin), brightness_plugin->ebox);
+}
diff --git a/panel-plugins/brightness/xfce4-brightness-plugin.desktop.in.in b/panel-plugins/brightness/xfce4-brightness-plugin.desktop.in.in
index 6adccea..f03f4fd 100644
--- a/panel-plugins/brightness/xfce4-brightness-plugin.desktop.in.in
+++ b/panel-plugins/brightness/xfce4-brightness-plugin.desktop.in.in
@@ -3,5 +3,6 @@ Type=X-XFCE-PanelPlugin
_Name=Brightness plugin
_Comment=Control your LCD brightness
Icon=xfpm-brightness-lcd
-X-XFCE-Exec=@libdir@/xfce4/panel-plugins/xfce4-brightness-plugin
+X-XFCE-Module=xfce4brightness
X-XFCE-Unique=TRUE
+X-XFCE-Internal=false
More information about the Xfce4-commits
mailing list