From 2a3445c865546aa85e6744b5e459f360acc55686 Mon Sep 17 00:00:00 2001 From: Tomas Frydrych Date: Mon, 27 Oct 2008 17:17:09 +0000 Subject: [PATCH 1/2] Add StructureNotifyMask windows the compositor is interested in. --- src/compositor/mutter/compositor-mutter.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/compositor/mutter/compositor-mutter.c b/src/compositor/mutter/compositor-mutter.c index 14f3cca8f..876477887 100644 --- a/src/compositor/mutter/compositor-mutter.c +++ b/src/compositor/mutter/compositor-mutter.c @@ -1353,9 +1353,12 @@ add_win (MetaScreen *screen, MetaWindow *window, Window xwindow) * If Metacity has decided not to manage this window then the input events * won't have been set on the window */ - events_needed = PropertyChangeMask | SubstructureNotifyMask; + events_needed = PropertyChangeMask | + SubstructureNotifyMask | + StructureNotifyMask; - if (!(attrs.your_event_mask & PropertyChangeMask) || + if (!(attrs.your_event_mask & PropertyChangeMask) || + !(attrs.your_event_mask & StructureNotifyMask) || !(attrs.your_event_mask & SubstructureNotifyMask)) { gulong event_mask; @@ -1376,6 +1379,11 @@ add_win (MetaScreen *screen, MetaWindow *window, Window xwindow) clutter_actor_set_position (CLUTTER_ACTOR (cw), priv->attrs.x, priv->attrs.y); + + if (!window) + printf ("!!! override 0x%x at %d, %d\n", + (guint)xwindow, priv->attrs.x, priv->attrs.y); + clutter_container_add_actor (CLUTTER_CONTAINER (info->window_group), CLUTTER_ACTOR (cw)); clutter_actor_hide (CLUTTER_ACTOR (cw)); @@ -2058,7 +2066,7 @@ clutter_cmp_manage_screen (MetaCompositor *compositor, { ClutterActor *foo; - foo = clutter_label_new_with_text ("Sans Bold 48px", + foo = clutter_label_new_with_text ("Sans Bold 48px", "Yessir. The compositor is running."); clutter_actor_set_opacity (foo, 100); clutter_actor_set_position (foo, 20, height - 50); From 68c2f755581606b803cfd370813c99fc876f1378 Mon Sep 17 00:00:00 2001 From: Tomas Frydrych Date: Tue, 28 Oct 2008 10:45:45 +0000 Subject: [PATCH 2/2] Changes necessary to build plugins out of tree: metacity-plugins.pc.in installation necessary header files fixed misplaced inclusion of config.h --- configure.in | 4 +++- src/Makefile.am | 18 ++++++++++++++---- src/compositor/mutter/mutter-plugin-manager.c | 1 + src/compositor/mutter/plugins/Makefile.am | 2 -- src/include/mutter-plugin.h | 1 - src/metacity-plugins.pc.in | 17 +++++++++++++++++ 6 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 src/metacity-plugins.pc.in diff --git a/configure.in b/configure.in index f04eba8f6..2d6ed15d8 100644 --- a/configure.in +++ b/configure.in @@ -299,8 +299,9 @@ if test x$have_xrender = xyes; then AC_DEFINE(HAVE_RENDER, , [Building with Render extension support]) fi +CLUTTER_PACKAGE=clutter-0.8 +AC_SUBST(CLUTTER_PACKAGE) if test x$have_clutter = xyes; then - CLUTTER_PACKAGE=clutter-0.8 METACITY_PC_MODULES="$METACITY_PC_MODULES $CLUTTER_PACKAGE " PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE) AC_DEFINE(WITH_CLUTTER, , [Building with Clutter compositor]) @@ -533,6 +534,7 @@ doc/man/Makefile src/Makefile src/wm-tester/Makefile src/libmetacity-private.pc +src/metacity-plugins.pc src/tools/Makefile src/themes/Makefile src/compositor/mutter/plugins/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index 1d93c6017..3a1667827 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -147,7 +147,16 @@ libmetacityinclude_HEADERS = \ include/common.h \ ui/preview-widget.h \ ui/theme-parser.h \ - ui/theme.h + ui/theme.h \ + include/prefs.h \ + include/window.h \ + include/workspace.h \ + include/compositor.h \ + include/compositor-mutter.h \ + include/types.h \ + include/screen.h \ + include/display.h \ + include/mutter-plugin.h metacity_theme_viewer_SOURCES= \ ui/theme-viewer.c @@ -218,14 +227,15 @@ inlinepixbufs.h: $(IMAGES) pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libmetacity-private.pc +pkgconfig_DATA = libmetacity-private.pc metacity-plugins.pc EXTRA_DIST=$(desktopfiles_files) \ - $(wmproperties_files) \ + $(wmproperties_files) \ $(IMAGES) $(schema_DATA) \ $(desktopfiles_in_files) \ $(wmproperties_in_files) \ $(schema_in_files) \ $(xml_in_files) \ - libmetacity-private.pc.in + libmetacity-private.pc.in \ + metacity-plugins.pc.in diff --git a/src/compositor/mutter/mutter-plugin-manager.c b/src/compositor/mutter/mutter-plugin-manager.c index 698d7e41d..c53cd4e13 100644 --- a/src/compositor/mutter/mutter-plugin-manager.c +++ b/src/compositor/mutter/mutter-plugin-manager.c @@ -21,6 +21,7 @@ * 02111-1307, USA. */ +#include "config.h" #include "mutter-plugin-manager.h" #include "prefs.h" #include "errors.h" diff --git a/src/compositor/mutter/plugins/Makefile.am b/src/compositor/mutter/plugins/Makefile.am index 0a99b6139..94b607e5a 100644 --- a/src/compositor/mutter/plugins/Makefile.am +++ b/src/compositor/mutter/plugins/Makefile.am @@ -5,8 +5,6 @@ if WITH_CLUTTER INCLUDES=@METACITY_CFLAGS@ -I $(top_srcdir)/src/include -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMETACITY_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMETACITY_PKGDATADIR=\"$(pkgdatadir)\" -DMETACITY_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"metacity\" -DSN_API_NOT_YET_FROZEN=1 -DMETACITY_MAJOR_VERSION=$(METACITY_MAJOR_VERSION) -DMETACITY_MINOR_VERSION=$(METACITY_MINOR_VERSION) -DMETACITY_MICRO_VERSION=$(METACITY_MICRO_VERSION) -DMETACITY_CLUTTER_PLUGIN_API_VERSION=$(METACITY_CLUTTER_PLUGIN_API_VERSION) -DMETACITY_PKGLIBDIR=\"$(pkglibdir)\" -pkglib_LTLIBRARIES = default.la - default_la_CFLAGS = -fPIC default_la_SOURCES = default.c default_la_LDFLAGS = -module -avoid-version -no-undefined diff --git a/src/include/mutter-plugin.h b/src/include/mutter-plugin.h index 8514806c6..01f2fea24 100644 --- a/src/include/mutter-plugin.h +++ b/src/include/mutter-plugin.h @@ -25,7 +25,6 @@ #define MUTTER_PLUGIN_H_ #include "types.h" -#include "config.h" #include "compositor.h" #include "compositor-mutter.h" diff --git a/src/metacity-plugins.pc.in b/src/metacity-plugins.pc.in new file mode 100644 index 000000000..c8d42cb43 --- /dev/null +++ b/src/metacity-plugins.pc.in @@ -0,0 +1,17 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +pkglibdir=@pkglibdir@ +libgnome_serverdir=@libexecdir@ +metacity_major_version=@METACITY_MAJOR_VERSION@ +metacity_minor_version=@METACITY_MINOR_VERSION@ +metacity_micro_version=@METACITY_MICRO_VERSION@ +metacity_clutter_plugin_api_version=@METACITY_CLUTTER_PLUGIN_API_VERSION@ + +Name: metacity-plugins +Description: Dev parameters for mutter plugins +Requires: @CLUTTER_PACKAGE@ +Version: @VERSION@ +Libs: @CLUTTER_LIBS@ +Cflags: @CLUTTER_CFLAGS@ -DWITH_CLUTTER -I${includedir}/metacity-1/metacity-private -DMETACITY_MAJOR_VERSION=${metacity_major_version} -DMETACITY_MINOR_VERSION=${metacity_minor_version} -DMETACITY_MICRO_VERSION=${metacity_micro_version} -DMETACITY_CLUTTER_PLUGIN_API_VERSION=${metacity_clutter_plugin_api_version} -DMETACITY_PKGLIBDIR=\"${pkglibdir}\"