From e1f36a8445d1851f15a396ba5488119c298e593d Mon Sep 17 00:00:00 2001 From: Michael Terry Date: Sat, 19 Jun 2010 01:44:59 -0400 Subject: first pass at gtk3 version of libappindicator --- configure.ac | 13 +++++++++++- src/Makefile.am | 49 +++++++++++++++++++++++++++++++++++++++++----- src/app-indicator.c | 4 ++-- src/appindicator-3.1.pc.in | 14 +++++++++++++ 4 files changed, 72 insertions(+), 8 deletions(-) create mode 100644 src/appindicator-3.1.pc.in diff --git a/configure.ac b/configure.ac index 9396c5c..be9c497 100644 --- a/configure.ac +++ b/configure.ac @@ -37,7 +37,8 @@ AC_CONFIG_MACRO_DIR(m4) # Dependencies ########################### -GTK_REQUIRED_VERSION=2.12 +GTK_REQUIRED_VERSION=2.18 +GTK3_REQUIRED_VERSION=2.90 INDICATOR_REQUIRED_VERSION=0.3.5 DBUSMENUGTK_REQUIRED_VERSION=0.2.2 JSON_GLIB_REQUIRED_VERSION=0.7.6 @@ -52,6 +53,15 @@ PKG_CHECK_MODULES(INDICATOR, gtk+-2.0 >= $GTK_REQUIRED_VERSION AC_SUBST(INDICATOR_CFLAGS) AC_SUBST(INDICATOR_LIBS) +PKG_CHECK_MODULES(INDICATOR3, gtk+-3.0 >= $GTK3_REQUIRED_VERSION + indicator >= $INDICATOR_REQUIRED_VERSION + json-glib-1.0 >= $JSON_GLIB_REQUIRED_VERSION + dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION + dbusmenu-gtk >= $DBUSMENUGTK_REQUIRED_VERSION) + +AC_SUBST(INDICATOR3_CFLAGS) +AC_SUBST(INDICATOR3_LIBS) + ########################### # GObject Introspection ########################### @@ -191,6 +201,7 @@ AC_OUTPUT([ Makefile src/Makefile src/appindicator-0.1.pc +src/appindicator-3.1.pc bindings/Makefile bindings/mono/Makefile bindings/mono/appindicator-sharp.dll.config diff --git a/src/Makefile.am b/src/Makefile.am index 787ba2f..e3abf9f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,7 @@ CLEANFILES = DISTCLEANFILES = BUILT_SOURCES = -EXTRA_DIST = appindicator-0.1.pc.in +EXTRA_DIST = appindicator-0.1.pc.in appindicator-3.1.pc.in include $(top_srcdir)/Makefile.am.enum include $(top_srcdir)/Makefile.am.marshal @@ -26,6 +26,19 @@ libapplication_la_CFLAGS = $(INDICATOR_CFLAGS) \ libapplication_la_LIBADD = $(INDICATOR_LIBS) libapplication_la_LDFLAGS = -module -avoid-version +applicationlib1dir = $(INDICATORDIR) +applicationlib1_LTLIBRARIES = libapplication3.la +libapplication3_la_SOURCES = $(libapplication_la_SOURCES) +libapplication3_la_CFLAGS = $(INDICATOR3_CFLAGS) \ + -Wall \ + -Wl,-Bsymbolic-functions \ + -Wl,-z,defs \ + -Wl,--as-needed \ + -Werror \ + -DG_LOG_DOMAIN=\"Indicator-Application\" +libapplication3_la_LIBADD = $(INDICATOR3_LIBS) +libapplication3_la_LDFLAGS = $(libapplication_la_LDFLAGS) + ################################## # Service ################################## @@ -66,7 +79,7 @@ glib_marshal_prefix = _application_service_marshal # Library ################################## -pkgconfig_DATA = appindicator-0.1.pc +pkgconfig_DATA = appindicator-0.1.pc appindicator-3.1.pc pkgconfigdir = $(libdir)/pkgconfig glib_enum_h = app-indicator-enum-types.h @@ -76,9 +89,11 @@ glib_enum_headers = $(addprefix $(srcdir)/, $(libappindicator_headers)) DISTCLEANFILES += app-indicator-enum-types.c lib_LTLIBRARIES = \ - libappindicator.la + libappindicator.la \ + libappindicator3.la libappindicatorincludedir=$(includedir)/libappindicator-0.1/libappindicator +libappindicator3includedir=$(includedir)/libappindicator-3.1/libappindicator libappindicator_headers = \ app-indicator.h @@ -87,6 +102,8 @@ libappindicatorinclude_HEADERS = \ $(libappindicator_headers) \ $(glib_enum_h) +libappindicator3include_HEADERS = $(libappindicatorinclude_HEADERS) + BUILT_SOURCES += \ notification-watcher-client.h \ notification-item-server.h @@ -95,19 +112,27 @@ libappindicator_la_SOURCES = \ $(libappindicator_headers) \ app-indicator-enum-types.c \ app-indicator.c +libappindicator3_la_SOURCES = $(libappindicator_la_SOURCES) libappindicator_la_LDFLAGS = \ -version-info 0:0:0 \ -no-undefined \ -export-symbols-regex "^[^_d].*" +libappindicator3_la_LDFLAGS = $(libappindicator_la_LDFLAGS) libappindicator_la_CFLAGS = \ $(INDICATOR_CFLAGS) \ -Wall -Werror \ -DG_LOG_DOMAIN=\"libappindicator\" +libappindicator3_la_CFLAGS = \ + $(INDICATOR3_CFLAGS) \ + -Wall -Werror \ + -DG_LOG_DOMAIN=\"libappindicator\" libappindicator_la_LIBADD = \ $(INDICATOR_LIBS) +libappindicator3_la_LIBADD = \ + $(INDICATOR3_LIBS) ################################## # DBus Specs @@ -166,7 +191,15 @@ AppIndicator_0_1_gir_CFLAGS = $(INDICATOR_CFLAGS) -I$(srcdir) -I$(top_builddir)/ AppIndicator_0_1_gir_LIBS = libappindicator.la AppIndicator_0_1_gir_FILES = $(introspection_sources) -INTROSPECTION_GIRS += AppIndicator-0.1.gir +AppIndicator-3.1.gir: libappindicator.la $(glib_enum_h) +AppIndicator_3_1_gir_INCLUDES = \ + GObject-2.0 \ + Gtk-3.0 +AppIndicator_3_1_gir_CFLAGS = $(INDICATOR3_CFLAGS) -I$(srcdir) -I$(top_builddir)/src +AppIndicator_3_1_gir_LIBS = libappindicator3.la +AppIndicator_3_1_gir_FILES = $(introspection_sources) + +INTROSPECTION_GIRS += AppIndicator-0.1.gir AppIndicator-3.1.gir girdir = $(datadir)/gir-1.0 gir_DATA = $(INTROSPECTION_GIRS) @@ -185,7 +218,7 @@ endif if HAVE_INTROSPECTION vapidir = $(datadir)/vala/vapi -vapi_DATA = AppIndicator-0.1.vapi +vapi_DATA = AppIndicator-0.1.vapi AppIndicator-3.1.vapi AppIndicator-0.1.vapi: AppIndicator-0.1.gir Makefile.am $(VALA_API_GEN) --library=AppIndicator-0.1 \ @@ -193,6 +226,12 @@ AppIndicator-0.1.vapi: AppIndicator-0.1.gir Makefile.am --vapidir=$(top_builddir)/src \ $< +AppIndicator-3.1.vapi: AppIndicator-3.1.gir Makefile.am + $(VALA_API_GEN) --library=AppIndicator-3.1 \ + --pkg gtk+-3.0 \ + --vapidir=$(top_builddir)/src \ + $< + CLEANFILES += $(vapi_DATA) endif diff --git a/src/app-indicator.c b/src/app-indicator.c index bc43e58..939ca9a 100644 --- a/src/app-indicator.c +++ b/src/app-indicator.c @@ -1270,7 +1270,7 @@ widget_notify_cb (GtkWidget *widget, { dbusmenu_menuitem_property_set_bool (child, DBUSMENU_MENUITEM_PROP_ENABLED, - GTK_WIDGET_IS_SENSITIVE (widget)); + gtk_widget_is_sensitive (widget)); } else if (pspec->name == g_intern_static_string ("label")) { @@ -1422,7 +1422,7 @@ container_iterate (GtkWidget *widget, dbusmenu_menuitem_property_set_bool (child, DBUSMENU_MENUITEM_PROP_ENABLED, - GTK_WIDGET_IS_SENSITIVE (widget)); + gtk_widget_is_sensitive (widget)); dbusmenu_menuitem_property_set_bool (child, DBUSMENU_MENUITEM_PROP_VISIBLE, gtk_widget_get_visible (widget)); diff --git a/src/appindicator-3.1.pc.in b/src/appindicator-3.1.pc.in new file mode 100644 index 0000000..37ed687 --- /dev/null +++ b/src/appindicator-3.1.pc.in @@ -0,0 +1,14 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +bindir=@bindir@ +includedir=@includedir@ + +Cflags: -I${includedir}/libappindicator-3.1 +Requires: dbusmenu-glib gtk+-3.0 +Libs: -L${libdir} -lappindicator3 + +Name: appindicator-3.1 +Description: Application indicators +Version: @VERSION@ + -- cgit v1.2.3