mirror of
https://github.com/brl/mutter.git
synced 2025-01-28 04:19:26 +00:00
Added --with-clutter option; initialize Clutter from meta_ui_init().
Fixed up the build files so we do not build xrender compositor when building clutter backend; moved clutter initialization to meta_ui_init() so commandline arguments can be passed into clutter_init().
This commit is contained in:
parent
b48f9ca907
commit
a3f56bb289
26
configure.in
26
configure.in
@ -143,6 +143,11 @@ AC_ARG_ENABLE(compositor,
|
|||||||
[disable metacity's compositing manager]),,
|
[disable metacity's compositing manager]),,
|
||||||
enable_compositor=auto)
|
enable_compositor=auto)
|
||||||
|
|
||||||
|
AC_ARG_WITH(clutter,
|
||||||
|
AC_HELP_STRING([--with-clutter],
|
||||||
|
[Use clutter for compositing]),,
|
||||||
|
with_clutter=auto)
|
||||||
|
|
||||||
AC_ARG_ENABLE(xsync,
|
AC_ARG_ENABLE(xsync,
|
||||||
AC_HELP_STRING([--disable-xsync],
|
AC_HELP_STRING([--disable-xsync],
|
||||||
[disable metacity's use of the XSync extension]),,
|
[disable metacity's use of the XSync extension]),,
|
||||||
@ -229,6 +234,18 @@ else
|
|||||||
have_xcomposite=no
|
have_xcomposite=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test x$with_clutter = xyes; then
|
||||||
|
have_xcomposite=yes
|
||||||
|
have_clutter=yes
|
||||||
|
echo "CompositeExt support and Clutter forced on"
|
||||||
|
elif test x$with_clutter = xauto; then
|
||||||
|
have_clutter=no
|
||||||
|
else
|
||||||
|
have_clutter=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(WITH_CLUTTER, test "$have_clutter" = "yes")
|
||||||
|
|
||||||
if test x$have_xcomposite = xyes; then
|
if test x$have_xcomposite = xyes; then
|
||||||
echo "Building with CompositeExt"
|
echo "Building with CompositeExt"
|
||||||
METACITY_PC_MODULES="$METACITY_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
METACITY_PC_MODULES="$METACITY_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
||||||
@ -270,6 +287,12 @@ if test x$have_xrender = xyes; then
|
|||||||
AC_DEFINE(HAVE_RENDER, , [Building with Render extension support])
|
AC_DEFINE(HAVE_RENDER, , [Building with Render extension support])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test x$have_clutter = xyes; then
|
||||||
|
CLUTTER_PACKAGE=clutter-0.8
|
||||||
|
METACITY_PC_MODULES="$METACITY_PC_MODULES $CLUTTER_PACKAGE "
|
||||||
|
AC_DEFINE(WITH_CLUTTER, , [Building with Clutter compositor])
|
||||||
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING([Xcursor])
|
AC_MSG_CHECKING([Xcursor])
|
||||||
if $PKG_CONFIG xcursor; then
|
if $PKG_CONFIG xcursor; then
|
||||||
have_xcursor=yes
|
have_xcursor=yes
|
||||||
@ -284,8 +307,6 @@ if test x$have_xcursor = xyes; then
|
|||||||
AC_DEFINE(HAVE_XCURSOR, , [Building with Xcursor support])
|
AC_DEFINE(HAVE_XCURSOR, , [Building with Xcursor support])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
METACITY_PC_MODULES="$METACITY_PC_MODULES clutter-0.8"
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(METACITY, $METACITY_PC_MODULES)
|
PKG_CHECK_MODULES(METACITY, $METACITY_PC_MODULES)
|
||||||
|
|
||||||
AC_PATH_XTRA
|
AC_PATH_XTRA
|
||||||
@ -527,6 +548,7 @@ metacity-$VERSION:
|
|||||||
Xsync: ${found_xsync}
|
Xsync: ${found_xsync}
|
||||||
Render: ${have_xrender}
|
Render: ${have_xrender}
|
||||||
Xcursor: ${have_xcursor}
|
Xcursor: ${have_xcursor}
|
||||||
|
Clutter: ${have_clutter}
|
||||||
"
|
"
|
||||||
|
|
||||||
METACITY_MINOR_VERSION=metacity_minor_version
|
METACITY_MINOR_VERSION=metacity_minor_version
|
||||||
|
@ -14,10 +14,6 @@ metacity_SOURCES= \
|
|||||||
include/boxes.h \
|
include/boxes.h \
|
||||||
compositor/compositor.c \
|
compositor/compositor.c \
|
||||||
compositor/compositor-private.h \
|
compositor/compositor-private.h \
|
||||||
compositor/compositor-xrender.c \
|
|
||||||
compositor/compositor-xrender.h \
|
|
||||||
compositor/compositor-clutter.c \
|
|
||||||
compositor/compositor-clutter.h \
|
|
||||||
include/compositor.h \
|
include/compositor.h \
|
||||||
core/constraints.c \
|
core/constraints.c \
|
||||||
core/constraints.h \
|
core/constraints.h \
|
||||||
@ -100,6 +96,14 @@ metacity_SOURCES= \
|
|||||||
ui/themewidget.h \
|
ui/themewidget.h \
|
||||||
ui/ui.c
|
ui/ui.c
|
||||||
|
|
||||||
|
if WITH_CLUTTER
|
||||||
|
metacity_SOURCES += compositor/compositor-clutter.c \
|
||||||
|
compositor/compositor-clutter.h
|
||||||
|
else
|
||||||
|
metacity_SOURCES += compositor/compositor-xrender.c \
|
||||||
|
compositor/compositor-xrender.h
|
||||||
|
endif
|
||||||
|
|
||||||
# by setting libmetacity_private_la_CFLAGS, the files shared with
|
# by setting libmetacity_private_la_CFLAGS, the files shared with
|
||||||
# metacity proper will be compiled with different names.
|
# metacity proper will be compiled with different names.
|
||||||
libmetacity_private_la_CFLAGS =
|
libmetacity_private_la_CFLAGS =
|
||||||
|
@ -1599,10 +1599,6 @@ meta_compositor_clutter_new (MetaDisplay *display)
|
|||||||
clc = g_new (MetaCompositorClutter, 1);
|
clc = g_new (MetaCompositorClutter, 1);
|
||||||
clc->compositor = comp_info;
|
clc->compositor = comp_info;
|
||||||
|
|
||||||
clutter_x11_set_display (xdisplay);
|
|
||||||
clutter_x11_disable_event_retrieval ();
|
|
||||||
clutter_init (NULL, NULL);
|
|
||||||
|
|
||||||
compositor = (MetaCompositor *) clc;
|
compositor = (MetaCompositor *) clc;
|
||||||
|
|
||||||
clc->display = display;
|
clc->display = display;
|
||||||
|
@ -28,9 +28,13 @@ MetaCompositor *
|
|||||||
meta_compositor_new (MetaDisplay *display)
|
meta_compositor_new (MetaDisplay *display)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||||
|
#ifdef WITH_CLUTTER
|
||||||
/* At some point we would have a way to select between backends */
|
/* At some point we would have a way to select between backends */
|
||||||
/* return meta_compositor_xrender_new (display); */
|
/* return meta_compositor_xrender_new (display); */
|
||||||
return meta_compositor_clutter_new (display);
|
return meta_compositor_clutter_new (display);
|
||||||
|
#else
|
||||||
|
return meta_compositor_xrender_new (display);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
return NULL;
|
return NULL;
|
||||||
#endif
|
#endif
|
||||||
|
17
src/ui/ui.c
17
src/ui/ui.c
@ -22,6 +22,7 @@
|
|||||||
* 02111-1307, USA.
|
* 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
#include "prefs.h"
|
#include "prefs.h"
|
||||||
#include "ui.h"
|
#include "ui.h"
|
||||||
#include "frames.h"
|
#include "frames.h"
|
||||||
@ -35,6 +36,11 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#ifdef WITH_CLUTTER
|
||||||
|
#include <clutter/clutter.h>
|
||||||
|
#include <clutter/x11/clutter-x11.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
static void meta_stock_icons_init (void);
|
static void meta_stock_icons_init (void);
|
||||||
static void meta_ui_accelerator_parse (const char *accel,
|
static void meta_ui_accelerator_parse (const char *accel,
|
||||||
guint *keysym,
|
guint *keysym,
|
||||||
@ -54,6 +60,17 @@ meta_ui_init (int *argc, char ***argv)
|
|||||||
if (!gtk_init_check (argc, argv))
|
if (!gtk_init_check (argc, argv))
|
||||||
meta_fatal ("Unable to open X display %s\n", XDisplayName (NULL));
|
meta_fatal ("Unable to open X display %s\n", XDisplayName (NULL));
|
||||||
|
|
||||||
|
#ifdef WITH_CLUTTER
|
||||||
|
/*
|
||||||
|
* NB: clutter must be initialized *after* the display connection is opened
|
||||||
|
* and *before* we enable the compositor.
|
||||||
|
*/
|
||||||
|
clutter_x11_set_display (gdk_display);
|
||||||
|
clutter_x11_disable_event_retrieval ();
|
||||||
|
clutter_init (argc, argv);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
meta_stock_icons_init ();
|
meta_stock_icons_init ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user