There can be only one compositor engine
Mutter is a Clutter-based compositing manager. So, remove the code for the XRender-based compositor, and make it mandatory to have XComposite, XRender and Clutter. Run-time support for non-composited operation is left for now. * src/compositor/mutter/: Move files from this subdirectory into the main compositor/ directory. * compositor/compositor-xrender.ccompositor/compositor-xrender.h: Remove * include/compositor-clutter.h: Remove this stray file, it had been replaced with compositor-mutter.h some time back. http://bugzilla.gnome.org/show_bug.cgi?id=581813
This commit is contained in:
parent
455486db7c
commit
0b8a57bcba
95
configure.in
95
configure.in
@ -153,16 +153,6 @@ AC_ARG_ENABLE(startup-notification,
|
|||||||
[disable mutter's startup notification support, for embedded/size-sensitive custom non-GNOME builds]),,
|
[disable mutter's startup notification support, for embedded/size-sensitive custom non-GNOME builds]),,
|
||||||
enable_startup_notification=auto)
|
enable_startup_notification=auto)
|
||||||
|
|
||||||
AC_ARG_ENABLE(compositor,
|
|
||||||
AC_HELP_STRING([--disable-compositor],
|
|
||||||
[disable mutter's compositing manager]),,
|
|
||||||
enable_compositor=auto)
|
|
||||||
|
|
||||||
AC_ARG_WITH(clutter,
|
|
||||||
AC_HELP_STRING([--without-clutter],
|
|
||||||
[disable the use of clutter for compositing]),,
|
|
||||||
with_clutter=auto)
|
|
||||||
|
|
||||||
AC_ARG_WITH(introspection,
|
AC_ARG_WITH(introspection,
|
||||||
AC_HELP_STRING([--without-introspection],
|
AC_HELP_STRING([--without-introspection],
|
||||||
[disable the use of GObject introspection]),,
|
[disable the use of GObject introspection]),,
|
||||||
@ -173,11 +163,6 @@ AC_ARG_ENABLE(xsync,
|
|||||||
[disable mutter's use of the XSync extension]),,
|
[disable mutter's use of the XSync extension]),,
|
||||||
enable_xsync=auto)
|
enable_xsync=auto)
|
||||||
|
|
||||||
AC_ARG_ENABLE(render,
|
|
||||||
AC_HELP_STRING([--disable-render],
|
|
||||||
[disable mutter's use of the RENDER extension]),,
|
|
||||||
enable_render=auto)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(shape,
|
AC_ARG_ENABLE(shape,
|
||||||
AC_HELP_STRING([--disable-shape],
|
AC_HELP_STRING([--disable-shape],
|
||||||
[disable mutter's use of the shaped window extension]),,
|
[disable mutter's use of the shaped window extension]),,
|
||||||
@ -231,43 +216,10 @@ else
|
|||||||
echo "Building without libstartup-notification"
|
echo "Building without libstartup-notification"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## init this, it gets set either in the compositor check below
|
|
||||||
## or the render-specific check later
|
|
||||||
have_xrender=no
|
|
||||||
|
|
||||||
XCOMPOSITE_VERSION=0.2
|
XCOMPOSITE_VERSION=0.2
|
||||||
if test x$enable_compositor = xyes; then
|
|
||||||
have_xcomposite=yes
|
|
||||||
elif test x$enable_compositor = xauto; then
|
|
||||||
echo "Building compositing manager by default now."
|
|
||||||
have_xcomposite=yes
|
|
||||||
else
|
|
||||||
have_xcomposite=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$with_clutter = xyes; then
|
AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
|
||||||
have_xcomposite=yes
|
if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
|
||||||
have_clutter=yes
|
|
||||||
elif test x$with_clutter = xauto; then
|
|
||||||
echo "Building clutter compositing manager by default now."
|
|
||||||
have_xcomposite=yes
|
|
||||||
have_clutter=yes
|
|
||||||
else
|
|
||||||
have_clutter=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(WITH_CLUTTER, test "$have_clutter" = "yes")
|
|
||||||
|
|
||||||
if test x$have_xcomposite = xyes; then
|
|
||||||
AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
|
|
||||||
if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([no. Use --disable-compositor to disable.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$have_xcomposite = xyes; then
|
|
||||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
||||||
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, 1, [Building with compositing manager support])
|
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, 1, [Building with compositing manager support])
|
||||||
echo "Building with compositing manager"
|
echo "Building with compositing manager"
|
||||||
@ -275,42 +227,13 @@ if test x$have_xcomposite = xyes; then
|
|||||||
## force on render also
|
## force on render also
|
||||||
have_xrender=yes
|
have_xrender=yes
|
||||||
else
|
else
|
||||||
echo "Building without compositing manager"
|
AC_MSG_ERROR([no. Mutter requires the Xcomposite extension to build.])
|
||||||
fi
|
|
||||||
|
|
||||||
## if no compositor, still possibly enable render
|
|
||||||
if test x$have_xcomposite = xno; then
|
|
||||||
XRENDER_VERSION=0.0
|
|
||||||
AC_MSG_CHECKING([xrender >= $XRENDER_VERSION])
|
|
||||||
if $PKG_CONFIG --atleast-version $XRENDER_VERSION xrender; then
|
|
||||||
have_xrender=yes
|
|
||||||
else
|
|
||||||
have_xrender=no
|
|
||||||
fi
|
|
||||||
AC_MSG_RESULT($have_xrender)
|
|
||||||
|
|
||||||
if test x$enable_render = xyes; then
|
|
||||||
have_xrender=yes
|
|
||||||
echo "Render support forced on"
|
|
||||||
elif test x$enable_render = xauto; then
|
|
||||||
true
|
|
||||||
else
|
|
||||||
have_xrender=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$have_xrender = xyes; then
|
|
||||||
echo "Building with Render"
|
|
||||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES xrender >= $XRENDER_VERSION"
|
|
||||||
fi
|
|
||||||
fi ## have_composite
|
|
||||||
|
|
||||||
if test x$have_xrender = xyes; then
|
|
||||||
AC_DEFINE(HAVE_RENDER, , [Building with Render extension support])
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CLUTTER_VERSION=0.9.3
|
||||||
CLUTTER_PACKAGE=clutter-0.9
|
CLUTTER_PACKAGE=clutter-0.9
|
||||||
AC_SUBST(CLUTTER_PACKAGE)
|
AC_SUBST(CLUTTER_PACKAGE)
|
||||||
if test x$have_clutter = xyes; then
|
if $PKG_CONFIG --atleast-version $CLUTTER_VERSION $CLUTTER_PACKAGE ; then
|
||||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES $CLUTTER_PACKAGE "
|
MUTTER_PC_MODULES="$MUTTER_PC_MODULES $CLUTTER_PACKAGE "
|
||||||
PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE)
|
PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE)
|
||||||
AC_DEFINE(WITH_CLUTTER, , [Building with Clutter compositor])
|
AC_DEFINE(WITH_CLUTTER, , [Building with Clutter compositor])
|
||||||
@ -327,6 +250,8 @@ if test x$have_clutter = xyes; then
|
|||||||
AC_DEFINE(HAVE_GLX_TEXTURE_PIXMAP, ,
|
AC_DEFINE(HAVE_GLX_TEXTURE_PIXMAP, ,
|
||||||
[Is ClutterGLXTexturePixmap available?])
|
[Is ClutterGLXTexturePixmap available?])
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([no. Mutter requires Clutter version $CLUTTER_VERSION.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test x$with_introspection != xno; then
|
if test x$with_introspection != xno; then
|
||||||
@ -578,7 +503,7 @@ src/wm-tester/Makefile
|
|||||||
src/libmutter-private.pc
|
src/libmutter-private.pc
|
||||||
src/mutter-plugins.pc
|
src/mutter-plugins.pc
|
||||||
src/tools/Makefile
|
src/tools/Makefile
|
||||||
src/compositor/mutter/plugins/Makefile
|
src/compositor/plugins/Makefile
|
||||||
po/Makefile.in
|
po/Makefile.in
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -611,15 +536,11 @@ mutter-$VERSION:
|
|||||||
XFree86 Xinerama: ${use_xfree_xinerama}
|
XFree86 Xinerama: ${use_xfree_xinerama}
|
||||||
Solaris Xinerama: ${use_solaris_xinerama}
|
Solaris Xinerama: ${use_solaris_xinerama}
|
||||||
Startup notification: ${have_startup_notification}
|
Startup notification: ${have_startup_notification}
|
||||||
Compositing manager: ${have_xcomposite}
|
|
||||||
Introspection: ${have_introspection}
|
Introspection: ${have_introspection}
|
||||||
Session management: ${found_sm}
|
Session management: ${found_sm}
|
||||||
Shape extension: ${found_shape}
|
Shape extension: ${found_shape}
|
||||||
Resize-and-rotate: ${found_randr}
|
|
||||||
Xsync: ${found_xsync}
|
Xsync: ${found_xsync}
|
||||||
Render: ${have_xrender}
|
|
||||||
Xcursor: ${have_xcursor}
|
Xcursor: ${have_xcursor}
|
||||||
Clutter: ${have_clutter}
|
|
||||||
"
|
"
|
||||||
|
|
||||||
MUTTER_MINOR_VERSION=mutter_minor_version
|
MUTTER_MINOR_VERSION=mutter_minor_version
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
lib_LTLIBRARIES = libmutter-private.la
|
lib_LTLIBRARIES = libmutter-private.la
|
||||||
|
|
||||||
SUBDIRS=wm-tester tools
|
SUBDIRS=wm-tester tools compositor/plugins
|
||||||
|
|
||||||
if WITH_CLUTTER
|
|
||||||
SUBDIRS += compositor/mutter/plugins
|
|
||||||
endif
|
|
||||||
|
|
||||||
INCLUDES=@MUTTER_CFLAGS@ -I $(srcdir)/include -I$(srcdir)/compositor -DMUTTER_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMUTTER_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" -DMUTTER_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"mutter\" -DSN_API_NOT_YET_FROZEN=1 -DMUTTER_MAJOR_VERSION=$(MUTTER_MAJOR_VERSION) -DMUTTER_MINOR_VERSION=$(MUTTER_MINOR_VERSION) -DMUTTER_MICRO_VERSION=$(MUTTER_MICRO_VERSION) -DMUTTER_PLUGIN_API_VERSION=$(MUTTER_PLUGIN_API_VERSION) -DMUTTER_PKGLIBDIR=\"$(pkglibdir)\" -DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR@\"
|
INCLUDES=@MUTTER_CFLAGS@ -I $(srcdir)/include -I$(srcdir)/compositor -DMUTTER_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMUTTER_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" -DMUTTER_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"mutter\" -DSN_API_NOT_YET_FROZEN=1 -DMUTTER_MAJOR_VERSION=$(MUTTER_MAJOR_VERSION) -DMUTTER_MINOR_VERSION=$(MUTTER_MINOR_VERSION) -DMUTTER_MICRO_VERSION=$(MUTTER_MICRO_VERSION) -DMUTTER_PLUGIN_API_VERSION=$(MUTTER_PLUGIN_API_VERSION) -DMUTTER_PKGLIBDIR=\"$(pkglibdir)\" -DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR@\"
|
||||||
|
|
||||||
@ -21,9 +17,19 @@ mutter_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-mutter.c \
|
||||||
compositor/compositor-xrender.h \
|
compositor/mutter-module.c \
|
||||||
|
compositor/mutter-module.h \
|
||||||
|
compositor/mutter-plugin.c \
|
||||||
|
compositor/mutter-plugin-manager.c \
|
||||||
|
compositor/mutter-plugin-manager.h \
|
||||||
|
compositor/mutter-shaped-texture.c \
|
||||||
|
compositor/mutter-shaped-texture.h \
|
||||||
|
compositor/tidy/tidy-texture-frame.c \
|
||||||
|
compositor/tidy/tidy-texture-frame.h \
|
||||||
include/compositor.h \
|
include/compositor.h \
|
||||||
|
include/mutter-plugin.h \
|
||||||
|
include/compositor-mutter.h \
|
||||||
core/constraints.c \
|
core/constraints.c \
|
||||||
core/constraints.h \
|
core/constraints.h \
|
||||||
core/core.c \
|
core/core.c \
|
||||||
@ -108,22 +114,6 @@ mutter_SOURCES= \
|
|||||||
ui/ui.c \
|
ui/ui.c \
|
||||||
include/all-keybindings.h
|
include/all-keybindings.h
|
||||||
|
|
||||||
if WITH_CLUTTER
|
|
||||||
mutter_SOURCES += \
|
|
||||||
compositor/mutter/compositor-mutter.c \
|
|
||||||
compositor/mutter/mutter-shaped-texture.c \
|
|
||||||
compositor/mutter/mutter-shaped-texture.h \
|
|
||||||
compositor/mutter/mutter-plugin-manager.c \
|
|
||||||
compositor/mutter/mutter-plugin-manager.h \
|
|
||||||
compositor/mutter/tidy/tidy-texture-frame.c \
|
|
||||||
compositor/mutter/tidy/tidy-texture-frame.h \
|
|
||||||
compositor/mutter/mutter-module.c \
|
|
||||||
compositor/mutter/mutter-module.h \
|
|
||||||
compositor/mutter/mutter-plugin.c \
|
|
||||||
include/mutter-plugin.h \
|
|
||||||
include/compositor-mutter.h
|
|
||||||
endif
|
|
||||||
|
|
||||||
# by setting libmutter_private_la_CFLAGS, the files shared with
|
# by setting libmutter_private_la_CFLAGS, the files shared with
|
||||||
# mutter proper will be compiled with different names.
|
# mutter proper will be compiled with different names.
|
||||||
libmutter_private_la_CFLAGS =
|
libmutter_private_la_CFLAGS =
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
|
|
||||||
#include "../../core/window-private.h"
|
#include "../core/window-private.h"
|
||||||
#include "display.h"
|
#include "display.h"
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "frame.h"
|
#include "frame.h"
|
||||||
@ -105,7 +105,6 @@ meta_xattrs_get_type (void)
|
|||||||
|
|
||||||
static unsigned char* shadow_gaussian_make_tile (void);
|
static unsigned char* shadow_gaussian_make_tile (void);
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
static inline gboolean
|
static inline gboolean
|
||||||
composite_at_least_version (MetaDisplay *display, int maj, int min)
|
composite_at_least_version (MetaDisplay *display, int maj, int min)
|
||||||
{
|
{
|
||||||
@ -117,7 +116,6 @@ composite_at_least_version (MetaDisplay *display, int maj, int min)
|
|||||||
|
|
||||||
return (major > maj || (major == maj && minor >= min));
|
return (major > maj || (major == maj && minor >= min));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct _Mutter
|
typedef struct _Mutter
|
||||||
{
|
{
|
||||||
@ -1143,9 +1141,6 @@ mutter_window_effect_completed (MutterWindow *cw, gulong event)
|
|||||||
static void
|
static void
|
||||||
clutter_cmp_destroy (MetaCompositor *compositor)
|
clutter_cmp_destroy (MetaCompositor *compositor)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1854,7 +1849,6 @@ static void
|
|||||||
clutter_cmp_manage_screen (MetaCompositor *compositor,
|
clutter_cmp_manage_screen (MetaCompositor *compositor,
|
||||||
MetaScreen *screen)
|
MetaScreen *screen)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MetaCompScreen *info;
|
MetaCompScreen *info;
|
||||||
MetaDisplay *display = meta_screen_get_display (screen);
|
MetaDisplay *display = meta_screen_get_display (screen);
|
||||||
Display *xdisplay = meta_display_get_xdisplay (display);
|
Display *xdisplay = meta_display_get_xdisplay (display);
|
||||||
@ -1972,23 +1966,18 @@ clutter_cmp_manage_screen (MetaCompositor *compositor,
|
|||||||
|
|
||||||
clutter_actor_show (info->overlay_group);
|
clutter_actor_show (info->overlay_group);
|
||||||
clutter_actor_show (info->stage);
|
clutter_actor_show (info->stage);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_cmp_unmanage_screen (MetaCompositor *compositor,
|
clutter_cmp_unmanage_screen (MetaCompositor *compositor,
|
||||||
MetaScreen *screen)
|
MetaScreen *screen)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_cmp_add_window (MetaCompositor *compositor,
|
clutter_cmp_add_window (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MetaScreen *screen = meta_window_get_screen (window);
|
MetaScreen *screen = meta_window_get_screen (window);
|
||||||
MetaDisplay *display = meta_screen_get_display (screen);
|
MetaDisplay *display = meta_screen_get_display (screen);
|
||||||
|
|
||||||
@ -1998,14 +1987,12 @@ clutter_cmp_add_window (MetaCompositor *compositor,
|
|||||||
add_win (window);
|
add_win (window);
|
||||||
|
|
||||||
meta_error_trap_pop (display, FALSE);
|
meta_error_trap_pop (display, FALSE);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_cmp_remove_window (MetaCompositor *compositor,
|
clutter_cmp_remove_window (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MutterWindow *cw = NULL;
|
MutterWindow *cw = NULL;
|
||||||
|
|
||||||
DEBUG_TRACE ("clutter_cmp_remove_window\n");
|
DEBUG_TRACE ("clutter_cmp_remove_window\n");
|
||||||
@ -2014,7 +2001,6 @@ clutter_cmp_remove_window (MetaCompositor *compositor,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
destroy_win (cw);
|
destroy_win (cw);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2022,9 +2008,6 @@ clutter_cmp_set_updates (MetaCompositor *compositor,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
gboolean update)
|
gboolean update)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -2032,7 +2015,6 @@ clutter_cmp_process_event (MetaCompositor *compositor,
|
|||||||
XEvent *event,
|
XEvent *event,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
Mutter *xrc = (Mutter *) compositor;
|
Mutter *xrc = (Mutter *) compositor;
|
||||||
|
|
||||||
if (window)
|
if (window)
|
||||||
@ -2115,18 +2097,13 @@ clutter_cmp_process_event (MetaCompositor *compositor,
|
|||||||
* GTK+ windows in the same process, GTK+ needs the ConfigureNotify event, for example.
|
* GTK+ windows in the same process, GTK+ needs the ConfigureNotify event, for example.
|
||||||
*/
|
*/
|
||||||
return FALSE;
|
return FALSE;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static Pixmap
|
static Pixmap
|
||||||
clutter_cmp_get_window_pixmap (MetaCompositor *compositor,
|
clutter_cmp_get_window_pixmap (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
return None;
|
return None;
|
||||||
#else
|
|
||||||
return None;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2134,35 +2111,28 @@ clutter_cmp_set_active_window (MetaCompositor *compositor,
|
|||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_cmp_map_window (MetaCompositor *compositor, MetaWindow *window)
|
clutter_cmp_map_window (MetaCompositor *compositor, MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||||
DEBUG_TRACE ("clutter_cmp_map_window\n");
|
DEBUG_TRACE ("clutter_cmp_map_window\n");
|
||||||
if (!cw)
|
if (!cw)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
map_win (cw);
|
map_win (cw);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_cmp_unmap_window (MetaCompositor *compositor, MetaWindow *window)
|
clutter_cmp_unmap_window (MetaCompositor *compositor, MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||||
DEBUG_TRACE ("clutter_cmp_unmap_window\n");
|
DEBUG_TRACE ("clutter_cmp_unmap_window\n");
|
||||||
if (!cw)
|
if (!cw)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
unmap_win (cw);
|
unmap_win (cw);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2171,7 +2141,6 @@ clutter_cmp_minimize_window (MetaCompositor *compositor,
|
|||||||
MetaRectangle *window_rect,
|
MetaRectangle *window_rect,
|
||||||
MetaRectangle *icon_rect)
|
MetaRectangle *icon_rect)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||||
MetaScreen *screen = meta_window_get_screen (window);
|
MetaScreen *screen = meta_window_get_screen (window);
|
||||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||||
@ -2197,7 +2166,6 @@ clutter_cmp_minimize_window (MetaCompositor *compositor,
|
|||||||
cw->priv->is_minimized = TRUE;
|
cw->priv->is_minimized = TRUE;
|
||||||
cw->priv->minimize_in_progress--;
|
cw->priv->minimize_in_progress--;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2206,7 +2174,6 @@ clutter_cmp_unminimize_window (MetaCompositor *compositor,
|
|||||||
MetaRectangle *window_rect,
|
MetaRectangle *window_rect,
|
||||||
MetaRectangle *icon_rect)
|
MetaRectangle *icon_rect)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
#if 0
|
#if 0
|
||||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||||
MetaScreen *screen = meta_window_get_screen (window);
|
MetaScreen *screen = meta_window_get_screen (window);
|
||||||
@ -2239,7 +2206,6 @@ clutter_cmp_unminimize_window (MetaCompositor *compositor,
|
|||||||
|
|
||||||
map_win (cw);
|
map_win (cw);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2248,7 +2214,6 @@ clutter_cmp_maximize_window (MetaCompositor *compositor,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
MetaRectangle *rect)
|
MetaRectangle *rect)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||||
MetaScreen *screen = meta_window_get_screen (window);
|
MetaScreen *screen = meta_window_get_screen (window);
|
||||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||||
@ -2270,7 +2235,6 @@ clutter_cmp_maximize_window (MetaCompositor *compositor,
|
|||||||
{
|
{
|
||||||
cw->priv->maximize_in_progress--;
|
cw->priv->maximize_in_progress--;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2278,7 +2242,6 @@ clutter_cmp_unmaximize_window (MetaCompositor *compositor,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
MetaRectangle *rect)
|
MetaRectangle *rect)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||||
MetaScreen *screen = meta_window_get_screen (window);
|
MetaScreen *screen = meta_window_get_screen (window);
|
||||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||||
@ -2300,14 +2263,12 @@ clutter_cmp_unmaximize_window (MetaCompositor *compositor,
|
|||||||
{
|
{
|
||||||
cw->priv->unmaximize_in_progress--;
|
cw->priv->unmaximize_in_progress--;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_cmp_update_workspace_geometry (MetaCompositor *compositor,
|
clutter_cmp_update_workspace_geometry (MetaCompositor *compositor,
|
||||||
MetaWorkspace *workspace)
|
MetaWorkspace *workspace)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
#if 0
|
#if 0
|
||||||
/* FIXME -- should do away with this function in favour of MetaWorkspace
|
/* FIXME -- should do away with this function in favour of MetaWorkspace
|
||||||
* signal.
|
* signal.
|
||||||
@ -2325,7 +2286,6 @@ clutter_cmp_update_workspace_geometry (MetaCompositor *compositor,
|
|||||||
|
|
||||||
mutter_plugin_manager_update_workspace (mgr, workspace);
|
mutter_plugin_manager_update_workspace (mgr, workspace);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2335,7 +2295,6 @@ clutter_cmp_switch_workspace (MetaCompositor *compositor,
|
|||||||
MetaWorkspace *to,
|
MetaWorkspace *to,
|
||||||
MetaMotionDirection direction)
|
MetaMotionDirection direction)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MetaCompScreen *info;
|
MetaCompScreen *info;
|
||||||
gint to_indx, from_indx;
|
gint to_indx, from_indx;
|
||||||
|
|
||||||
@ -2406,7 +2365,6 @@ clutter_cmp_switch_workspace (MetaCompositor *compositor,
|
|||||||
*/
|
*/
|
||||||
mutter_finish_workspace_switch (info);
|
mutter_finish_workspace_switch (info);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2555,7 +2513,6 @@ static void
|
|||||||
clutter_cmp_sync_window_geometry (MetaCompositor *compositor,
|
clutter_cmp_sync_window_geometry (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||||
MetaScreen *screen = meta_window_get_screen (window);
|
MetaScreen *screen = meta_window_get_screen (window);
|
||||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||||
@ -2567,8 +2524,6 @@ clutter_cmp_sync_window_geometry (MetaCompositor *compositor,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
sync_actor_position (cw);
|
sync_actor_position (cw);
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2577,7 +2532,6 @@ clutter_cmp_sync_screen_size (MetaCompositor *compositor,
|
|||||||
guint width,
|
guint width,
|
||||||
guint height)
|
guint height)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||||
|
|
||||||
DEBUG_TRACE ("clutter_cmp_sync_screen_size\n");
|
DEBUG_TRACE ("clutter_cmp_sync_screen_size\n");
|
||||||
@ -2588,7 +2542,6 @@ clutter_cmp_sync_screen_size (MetaCompositor *compositor,
|
|||||||
meta_verbose ("Changed size for stage on screen %d to %dx%d\n",
|
meta_verbose ("Changed size for stage on screen %d to %dx%d\n",
|
||||||
meta_screen_get_screen_number (screen),
|
meta_screen_get_screen_number (screen),
|
||||||
width, height);
|
width, height);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static MetaCompositor comp_info = {
|
static MetaCompositor comp_info = {
|
||||||
@ -2618,7 +2571,6 @@ static MetaCompositor comp_info = {
|
|||||||
MetaCompositor *
|
MetaCompositor *
|
||||||
mutter_new (MetaDisplay *display)
|
mutter_new (MetaDisplay *display)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
char *atom_names[] = {
|
char *atom_names[] = {
|
||||||
"_XROOTPMAP_ID",
|
"_XROOTPMAP_ID",
|
||||||
"_XSETROOT_ID",
|
"_XSETROOT_ID",
|
||||||
@ -2669,9 +2621,6 @@ mutter_new (MetaDisplay *display)
|
|||||||
free (data);
|
free (data);
|
||||||
|
|
||||||
return compositor;
|
return compositor;
|
||||||
#else
|
|
||||||
return NULL;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Window
|
Window
|
||||||
@ -2978,5 +2927,3 @@ shadow_gaussian_make_tile ()
|
|||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,31 +0,0 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2007 Iain Holmes
|
|
||||||
* Based on xcompmgr - (c) 2003 Keith Packard
|
|
||||||
* xfwm4 - (c) 2005-2007 Olivier Fourdan
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; either version 2 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
||||||
* 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef META_COMPOSITOR_XRENDER_H_
|
|
||||||
#define META_COMPOSITOR_XRENDER_H_
|
|
||||||
|
|
||||||
#include "types.h"
|
|
||||||
|
|
||||||
MetaCompositor *meta_compositor_xrender_new (MetaDisplay *display);
|
|
||||||
|
|
||||||
#endif
|
|
@ -21,78 +21,52 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "compositor-private.h"
|
#include "compositor-private.h"
|
||||||
#include "compositor-xrender.h"
|
|
||||||
#include "prefs.h"
|
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
#include "compositor-mutter.h"
|
#include "compositor-mutter.h"
|
||||||
int meta_compositor_can_use_clutter__ = 0;
|
#include "prefs.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
MetaCompositor *
|
MetaCompositor *
|
||||||
meta_compositor_new (MetaDisplay *display)
|
meta_compositor_new (MetaDisplay *display)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
return mutter_new (display);
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
/* At some point we would have a way to select between backends */
|
|
||||||
/* return meta_compositor_xrender_new (display); */
|
|
||||||
if (meta_compositor_can_use_clutter__ && !meta_prefs_get_clutter_disabled ())
|
|
||||||
return mutter_new (display);
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
return meta_compositor_xrender_new (display);
|
|
||||||
#else
|
|
||||||
return NULL;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_destroy (MetaCompositor *compositor)
|
meta_compositor_destroy (MetaCompositor *compositor)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->destroy)
|
if (compositor && compositor->destroy)
|
||||||
compositor->destroy (compositor);
|
compositor->destroy (compositor);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_add_window (MetaCompositor *compositor,
|
meta_compositor_add_window (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->add_window)
|
if (compositor && compositor->add_window)
|
||||||
compositor->add_window (compositor, window);
|
compositor->add_window (compositor, window);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_remove_window (MetaCompositor *compositor,
|
meta_compositor_remove_window (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->remove_window)
|
if (compositor && compositor->remove_window)
|
||||||
compositor->remove_window (compositor, window);
|
compositor->remove_window (compositor, window);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_manage_screen (MetaCompositor *compositor,
|
meta_compositor_manage_screen (MetaCompositor *compositor,
|
||||||
MetaScreen *screen)
|
MetaScreen *screen)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->manage_screen)
|
if (compositor && compositor->manage_screen)
|
||||||
compositor->manage_screen (compositor, screen);
|
compositor->manage_screen (compositor, screen);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_unmanage_screen (MetaCompositor *compositor,
|
meta_compositor_unmanage_screen (MetaCompositor *compositor,
|
||||||
MetaScreen *screen)
|
MetaScreen *screen)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->unmanage_screen)
|
if (compositor && compositor->unmanage_screen)
|
||||||
compositor->unmanage_screen (compositor, screen);
|
compositor->unmanage_screen (compositor, screen);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -100,10 +74,8 @@ meta_compositor_set_updates (MetaCompositor *compositor,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
gboolean updates)
|
gboolean updates)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->set_updates)
|
if (compositor && compositor->set_updates)
|
||||||
compositor->set_updates (compositor, window, updates);
|
compositor->set_updates (compositor, window, updates);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
@ -111,26 +83,20 @@ meta_compositor_process_event (MetaCompositor *compositor,
|
|||||||
XEvent *event,
|
XEvent *event,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->process_event)
|
if (compositor && compositor->process_event)
|
||||||
return compositor->process_event (compositor, event, window);
|
return compositor->process_event (compositor, event, window);
|
||||||
else
|
else
|
||||||
return FALSE;
|
return FALSE;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Pixmap
|
Pixmap
|
||||||
meta_compositor_get_window_pixmap (MetaCompositor *compositor,
|
meta_compositor_get_window_pixmap (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->get_window_pixmap)
|
if (compositor && compositor->get_window_pixmap)
|
||||||
return compositor->get_window_pixmap (compositor, window);
|
return compositor->get_window_pixmap (compositor, window);
|
||||||
else
|
else
|
||||||
return None;
|
return None;
|
||||||
#else
|
|
||||||
return None;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -138,10 +104,8 @@ meta_compositor_set_active_window (MetaCompositor *compositor,
|
|||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->set_active_window)
|
if (compositor && compositor->set_active_window)
|
||||||
compositor->set_active_window (compositor, screen, window);
|
compositor->set_active_window (compositor, screen, window);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* These functions are unused at the moment */
|
/* These functions are unused at the moment */
|
||||||
@ -169,20 +133,16 @@ void
|
|||||||
meta_compositor_map_window (MetaCompositor *compositor,
|
meta_compositor_map_window (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->map_window)
|
if (compositor && compositor->map_window)
|
||||||
compositor->map_window (compositor, window);
|
compositor->map_window (compositor, window);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_unmap_window (MetaCompositor *compositor,
|
meta_compositor_unmap_window (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->unmap_window)
|
if (compositor && compositor->unmap_window)
|
||||||
compositor->unmap_window (compositor, window);
|
compositor->unmap_window (compositor, window);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -191,10 +151,8 @@ meta_compositor_minimize_window (MetaCompositor *compositor,
|
|||||||
MetaRectangle *window_rect,
|
MetaRectangle *window_rect,
|
||||||
MetaRectangle *icon_rect)
|
MetaRectangle *icon_rect)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->minimize_window)
|
if (compositor && compositor->minimize_window)
|
||||||
compositor->minimize_window (compositor, window, window_rect, icon_rect);
|
compositor->minimize_window (compositor, window, window_rect, icon_rect);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -203,10 +161,8 @@ meta_compositor_unminimize_window (MetaCompositor *compositor,
|
|||||||
MetaRectangle *window_rect,
|
MetaRectangle *window_rect,
|
||||||
MetaRectangle *icon_rect)
|
MetaRectangle *icon_rect)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->unminimize_window)
|
if (compositor && compositor->unminimize_window)
|
||||||
compositor->unminimize_window (compositor, window, window_rect, icon_rect);
|
compositor->unminimize_window (compositor, window, window_rect, icon_rect);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -214,10 +170,8 @@ meta_compositor_maximize_window (MetaCompositor *compositor,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
MetaRectangle *window_rect)
|
MetaRectangle *window_rect)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->maximize_window)
|
if (compositor && compositor->maximize_window)
|
||||||
compositor->maximize_window (compositor, window, window_rect);
|
compositor->maximize_window (compositor, window, window_rect);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -225,20 +179,16 @@ meta_compositor_unmaximize_window (MetaCompositor *compositor,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
MetaRectangle *window_rect)
|
MetaRectangle *window_rect)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->unmaximize_window)
|
if (compositor && compositor->unmaximize_window)
|
||||||
compositor->unmaximize_window (compositor, window, window_rect);
|
compositor->unmaximize_window (compositor, window, window_rect);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_update_workspace_geometry (MetaCompositor *compositor,
|
meta_compositor_update_workspace_geometry (MetaCompositor *compositor,
|
||||||
MetaWorkspace *workspace)
|
MetaWorkspace *workspace)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->update_workspace_geometry)
|
if (compositor && compositor->update_workspace_geometry)
|
||||||
compositor->update_workspace_geometry (compositor, workspace);
|
compositor->update_workspace_geometry (compositor, workspace);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -248,10 +198,8 @@ meta_compositor_switch_workspace (MetaCompositor *compositor,
|
|||||||
MetaWorkspace *to,
|
MetaWorkspace *to,
|
||||||
MetaMotionDirection direction)
|
MetaMotionDirection direction)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->switch_workspace)
|
if (compositor && compositor->switch_workspace)
|
||||||
compositor->switch_workspace (compositor, screen, from, to, direction);
|
compositor->switch_workspace (compositor, screen, from, to, direction);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -259,10 +207,8 @@ meta_compositor_sync_stack (MetaCompositor *compositor,
|
|||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
GList *stack)
|
GList *stack)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->sync_stack)
|
if (compositor && compositor->sync_stack)
|
||||||
compositor->sync_stack (compositor, screen, stack);
|
compositor->sync_stack (compositor, screen, stack);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -271,20 +217,16 @@ meta_compositor_set_window_hidden (MetaCompositor *compositor,
|
|||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
gboolean hidden)
|
gboolean hidden)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->set_window_hidden)
|
if (compositor && compositor->set_window_hidden)
|
||||||
compositor->set_window_hidden (compositor, screen, window, hidden);
|
compositor->set_window_hidden (compositor, screen, window, hidden);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_compositor_sync_window_geometry (MetaCompositor *compositor,
|
meta_compositor_sync_window_geometry (MetaCompositor *compositor,
|
||||||
MetaWindow *window)
|
MetaWindow *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->sync_window_geometry)
|
if (compositor && compositor->sync_window_geometry)
|
||||||
compositor->sync_window_geometry (compositor, window);
|
compositor->sync_window_geometry (compositor, window);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -293,9 +235,6 @@ meta_compositor_sync_screen_size (MetaCompositor *compositor,
|
|||||||
guint width,
|
guint width,
|
||||||
guint height)
|
guint height)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
if (compositor && compositor->sync_screen_size)
|
if (compositor && compositor->sync_screen_size)
|
||||||
compositor->sync_screen_size (compositor, screen, width, height);
|
compositor->sync_screen_size (compositor, screen, width, height);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
|
|
||||||
pkglibdir=@MUTTER_PLUGIN_DIR@
|
pkglibdir=@MUTTER_PLUGIN_DIR@
|
||||||
|
|
||||||
if WITH_CLUTTER
|
|
||||||
|
|
||||||
INCLUDES=@MUTTER_CFLAGS@ -I $(top_srcdir)/src/include -DMUTTER_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMUTTER_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" -DMUTTER_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"mutter\" -DSN_API_NOT_YET_FROZEN=1 -DMUTTER_MAJOR_VERSION=$(MUTTER_MAJOR_VERSION) -DMUTTER_MINOR_VERSION=$(MUTTER_MINOR_VERSION) -DMUTTER_MICRO_VERSION=$(MUTTER_MICRO_VERSION) -DMUTTER_PLUGIN_API_VERSION=$(MUTTER_PLUGIN_API_VERSION) -DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR@\"
|
INCLUDES=@MUTTER_CFLAGS@ -I $(top_srcdir)/src/include -DMUTTER_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMUTTER_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" -DMUTTER_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"mutter\" -DSN_API_NOT_YET_FROZEN=1 -DMUTTER_MAJOR_VERSION=$(MUTTER_MAJOR_VERSION) -DMUTTER_MINOR_VERSION=$(MUTTER_MINOR_VERSION) -DMUTTER_MICRO_VERSION=$(MUTTER_MICRO_VERSION) -DMUTTER_PLUGIN_API_VERSION=$(MUTTER_PLUGIN_API_VERSION) -DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR@\"
|
||||||
|
|
||||||
default_la_CFLAGS = -fPIC
|
default_la_CFLAGS = -fPIC
|
||||||
@ -18,5 +16,3 @@ pkglib_LTLIBRARIES = default.la
|
|||||||
install-exec-hook:
|
install-exec-hook:
|
||||||
-rm $(DESTDIR)$(pkglibdir)/*.a
|
-rm $(DESTDIR)$(pkglibdir)/*.a
|
||||||
-rm $(DESTDIR)$(pkglibdir)/*.la
|
-rm $(DESTDIR)$(pkglibdir)/*.la
|
||||||
|
|
||||||
endif
|
|
@ -249,6 +249,18 @@ struct _MetaDisplay
|
|||||||
|
|
||||||
/* Managed by compositor.c */
|
/* Managed by compositor.c */
|
||||||
MetaCompositor *compositor;
|
MetaCompositor *compositor;
|
||||||
|
|
||||||
|
int render_event_base;
|
||||||
|
int render_error_base;
|
||||||
|
|
||||||
|
int composite_event_base;
|
||||||
|
int composite_error_base;
|
||||||
|
int composite_major_version;
|
||||||
|
int composite_minor_version;
|
||||||
|
int damage_event_base;
|
||||||
|
int damage_error_base;
|
||||||
|
int xfixes_event_base;
|
||||||
|
int xfixes_error_base;
|
||||||
|
|
||||||
#ifdef HAVE_STARTUP_NOTIFICATION
|
#ifdef HAVE_STARTUP_NOTIFICATION
|
||||||
SnDisplay *sn_display;
|
SnDisplay *sn_display;
|
||||||
@ -261,20 +273,6 @@ struct _MetaDisplay
|
|||||||
int shape_event_base;
|
int shape_event_base;
|
||||||
int shape_error_base;
|
int shape_error_base;
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_RENDER
|
|
||||||
int render_event_base;
|
|
||||||
int render_error_base;
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
int composite_event_base;
|
|
||||||
int composite_error_base;
|
|
||||||
int composite_major_version;
|
|
||||||
int composite_minor_version;
|
|
||||||
int damage_event_base;
|
|
||||||
int damage_error_base;
|
|
||||||
int xfixes_event_base;
|
|
||||||
int xfixes_error_base;
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_XSYNC
|
#ifdef HAVE_XSYNC
|
||||||
unsigned int have_xsync : 1;
|
unsigned int have_xsync : 1;
|
||||||
#define META_DISPLAY_HAS_XSYNC(display) ((display)->have_xsync)
|
#define META_DISPLAY_HAS_XSYNC(display) ((display)->have_xsync)
|
||||||
@ -287,24 +285,14 @@ struct _MetaDisplay
|
|||||||
#else
|
#else
|
||||||
#define META_DISPLAY_HAS_SHAPE(display) FALSE
|
#define META_DISPLAY_HAS_SHAPE(display) FALSE
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_RENDER
|
|
||||||
unsigned int have_render : 1;
|
unsigned int have_render : 1;
|
||||||
#define META_DISPLAY_HAS_RENDER(display) ((display)->have_render)
|
#define META_DISPLAY_HAS_RENDER(display) ((display)->have_render)
|
||||||
#else
|
|
||||||
#define META_DISPLAY_HAS_RENDER(display) FALSE
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
unsigned int have_composite : 1;
|
unsigned int have_composite : 1;
|
||||||
unsigned int have_damage : 1;
|
unsigned int have_damage : 1;
|
||||||
unsigned int have_xfixes : 1;
|
unsigned int have_xfixes : 1;
|
||||||
#define META_DISPLAY_HAS_COMPOSITE(display) ((display)->have_composite)
|
#define META_DISPLAY_HAS_COMPOSITE(display) ((display)->have_composite)
|
||||||
#define META_DISPLAY_HAS_DAMAGE(display) ((display)->have_damage)
|
#define META_DISPLAY_HAS_DAMAGE(display) ((display)->have_damage)
|
||||||
#define META_DISPLAY_HAS_XFIXES(display) ((display)->have_xfixes)
|
#define META_DISPLAY_HAS_XFIXES(display) ((display)->have_xfixes)
|
||||||
#else
|
|
||||||
#define META_DISPLAY_HAS_COMPOSITE(display) FALSE
|
|
||||||
#define META_DISPLAY_HAS_DAMAGE(display) FALSE
|
|
||||||
#define META_DISPLAY_HAS_XFIXES(display) FALSE
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _MetaDisplayClass
|
struct _MetaDisplayClass
|
||||||
|
@ -62,20 +62,16 @@
|
|||||||
#ifdef HAVE_SHAPE
|
#ifdef HAVE_SHAPE
|
||||||
#include <X11/extensions/shape.h>
|
#include <X11/extensions/shape.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_RENDER
|
|
||||||
#include <X11/extensions/Xrender.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_XKB
|
#ifdef HAVE_XKB
|
||||||
#include <X11/XKBlib.h>
|
#include <X11/XKBlib.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_XCURSOR
|
#ifdef HAVE_XCURSOR
|
||||||
#include <X11/Xcursor/Xcursor.h>
|
#include <X11/Xcursor/Xcursor.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
#include <X11/extensions/Xrender.h>
|
||||||
#include <X11/extensions/Xcomposite.h>
|
#include <X11/extensions/Xcomposite.h>
|
||||||
#include <X11/extensions/Xdamage.h>
|
#include <X11/extensions/Xdamage.h>
|
||||||
#include <X11/extensions/Xfixes.h>
|
#include <X11/extensions/Xfixes.h>
|
||||||
#endif
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#define GRAB_OP_IS_WINDOW_SWITCH(g) \
|
#define GRAB_OP_IS_WINDOW_SWITCH(g) \
|
||||||
@ -546,7 +542,6 @@ meta_display_open (void)
|
|||||||
meta_verbose ("Not compiled with Shape support\n");
|
meta_verbose ("Not compiled with Shape support\n");
|
||||||
#endif /* !HAVE_SHAPE */
|
#endif /* !HAVE_SHAPE */
|
||||||
|
|
||||||
#ifdef HAVE_RENDER
|
|
||||||
{
|
{
|
||||||
the_display->have_render = FALSE;
|
the_display->have_render = FALSE;
|
||||||
|
|
||||||
@ -567,11 +562,7 @@ meta_display_open (void)
|
|||||||
the_display->render_error_base,
|
the_display->render_error_base,
|
||||||
the_display->render_event_base);
|
the_display->render_event_base);
|
||||||
}
|
}
|
||||||
#else /* HAVE_RENDER */
|
|
||||||
meta_verbose ("Not compiled with Render support\n");
|
|
||||||
#endif /* !HAVE_RENDER */
|
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
{
|
{
|
||||||
the_display->have_composite = FALSE;
|
the_display->have_composite = FALSE;
|
||||||
|
|
||||||
@ -647,9 +638,6 @@ meta_display_open (void)
|
|||||||
the_display->xfixes_error_base,
|
the_display->xfixes_error_base,
|
||||||
the_display->xfixes_event_base);
|
the_display->xfixes_event_base);
|
||||||
}
|
}
|
||||||
#else /* HAVE_COMPOSITE_EXTENSIONS */
|
|
||||||
meta_verbose ("Not compiled with Composite support\n");
|
|
||||||
#endif /* !HAVE_COMPOSITE_EXTENSIONS */
|
|
||||||
|
|
||||||
#ifdef HAVE_XCURSOR
|
#ifdef HAVE_XCURSOR
|
||||||
{
|
{
|
||||||
@ -5204,7 +5192,6 @@ meta_display_overlay_key_activate (MetaDisplay *display)
|
|||||||
g_signal_emit (display, display_signals[OVERLAY_KEY], 0);
|
g_signal_emit (display, display_signals[OVERLAY_KEY], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
void
|
void
|
||||||
meta_display_get_compositor_version (MetaDisplay *display,
|
meta_display_get_compositor_version (MetaDisplay *display,
|
||||||
int *major,
|
int *major,
|
||||||
@ -5213,7 +5200,6 @@ meta_display_get_compositor_version (MetaDisplay *display,
|
|||||||
*major = display->composite_major_version;
|
*major = display->composite_major_version;
|
||||||
*minor = display->composite_minor_version;
|
*minor = display->composite_minor_version;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
Display *
|
Display *
|
||||||
meta_display_get_xdisplay (MetaDisplay *display)
|
meta_display_get_xdisplay (MetaDisplay *display)
|
||||||
@ -5257,15 +5243,12 @@ meta_display_get_focus_window (MetaDisplay *display)
|
|||||||
return display->focus_window;
|
return display->focus_window;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
int
|
int
|
||||||
meta_display_get_damage_event_base (MetaDisplay *display)
|
meta_display_get_damage_event_base (MetaDisplay *display)
|
||||||
{
|
{
|
||||||
return display->damage_event_base;
|
return display->damage_event_base;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
#ifdef HAVE_SHAPE
|
#ifdef HAVE_SHAPE
|
||||||
int
|
int
|
||||||
meta_display_get_shape_event_base (MetaDisplay *display)
|
meta_display_get_shape_event_base (MetaDisplay *display)
|
||||||
@ -5273,7 +5256,6 @@ meta_display_get_shape_event_base (MetaDisplay *display)
|
|||||||
return display->shape_event_base;
|
return display->shape_event_base;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
Atom meta_display_get_atom (MetaDisplay *display, MetaAtom meta_atom)
|
Atom meta_display_get_atom (MetaDisplay *display, MetaAtom meta_atom)
|
||||||
{
|
{
|
||||||
|
@ -29,9 +29,7 @@
|
|||||||
#include "errors.h"
|
#include "errors.h"
|
||||||
#include "keybindings-private.h"
|
#include "keybindings-private.h"
|
||||||
|
|
||||||
#ifdef HAVE_RENDER
|
|
||||||
#include <X11/extensions/Xrender.h>
|
#include <X11/extensions/Xrender.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#define EVENT_MASK (SubstructureRedirectMask | \
|
#define EVENT_MASK (SubstructureRedirectMask | \
|
||||||
StructureNotifyMask | SubstructureNotifyMask | \
|
StructureNotifyMask | SubstructureNotifyMask | \
|
||||||
|
@ -69,14 +69,12 @@
|
|||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
#include <clutter/clutter.h>
|
#include <clutter/clutter.h>
|
||||||
#include <clutter/x11/clutter-x11.h>
|
#include <clutter/x11/clutter-x11.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_INTROSPECTION
|
#ifdef HAVE_INTROSPECTION
|
||||||
#include <girepository.h>
|
#include <girepository.h>
|
||||||
#include "compositor/mutter/mutter-plugin-manager.h"
|
#include "compositor/mutter-plugin-manager.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -178,11 +176,6 @@ meta_print_compilation_info (void)
|
|||||||
#else
|
#else
|
||||||
meta_verbose ("Compiled without startup notification\n");
|
meta_verbose ("Compiled without startup notification\n");
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
meta_verbose ("Compiled with composite extensions\n");
|
|
||||||
#else
|
|
||||||
meta_verbose ("Compiled without composite extensions\n");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -237,12 +230,7 @@ typedef struct
|
|||||||
gchar *introspect;
|
gchar *introspect;
|
||||||
} MetaArguments;
|
} MetaArguments;
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
#define COMPOSITE_OPTS_FLAGS 0
|
#define COMPOSITE_OPTS_FLAGS 0
|
||||||
#else /* HAVE_COMPOSITE_EXTENSIONS */
|
|
||||||
/* No compositor, so don't show the arguments in --help */
|
|
||||||
#define COMPOSITE_OPTS_FLAGS G_OPTION_FLAG_HIDDEN
|
|
||||||
#endif /* HAVE_COMPOSITE_EXTENSIONS */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses argc and argv and returns the
|
* Parses argc and argv and returns the
|
||||||
@ -316,14 +304,12 @@ meta_parse_options (int *argc, char ***argv,
|
|||||||
N_("Turn compositing off"),
|
N_("Turn compositing off"),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
{
|
{
|
||||||
"mutter-plugins", 0, 0, G_OPTION_ARG_STRING,
|
"mutter-plugins", 0, 0, G_OPTION_ARG_STRING,
|
||||||
&my_args.mutter_plugins,
|
&my_args.mutter_plugins,
|
||||||
N_("Comma-separated list of compositor plugins"),
|
N_("Comma-separated list of compositor plugins"),
|
||||||
"PLUGINS"
|
"PLUGINS"
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
"no-tab-popup", 0, 0, G_OPTION_ARG_NONE,
|
"no-tab-popup", 0, 0, G_OPTION_ARG_NONE,
|
||||||
&my_args.no_tab_popup,
|
&my_args.no_tab_popup,
|
||||||
@ -344,15 +330,7 @@ meta_parse_options (int *argc, char ***argv,
|
|||||||
|
|
||||||
ctx = g_option_context_new (NULL);
|
ctx = g_option_context_new (NULL);
|
||||||
g_option_context_add_main_entries (ctx, options, "mutter");
|
g_option_context_add_main_entries (ctx, options, "mutter");
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
/*
|
|
||||||
* This function is only available in clutter >= 0.8.2
|
|
||||||
*/
|
|
||||||
#if CLUTTER_CHECK_VERSION(0,8,2)
|
|
||||||
g_option_context_add_group (ctx, clutter_get_option_group_without_init ());
|
g_option_context_add_group (ctx, clutter_get_option_group_without_init ());
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!g_option_context_parse (ctx, argc, argv, &error))
|
if (!g_option_context_parse (ctx, argc, argv, &error))
|
||||||
{
|
{
|
||||||
@ -365,8 +343,6 @@ meta_parse_options (int *argc, char ***argv,
|
|||||||
return ctx;
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
/* Mutter is responsible for pulling events off the X queue, so Clutter
|
/* Mutter is responsible for pulling events off the X queue, so Clutter
|
||||||
* doesn't need (and shouldn't) run its normal event source which polls
|
* doesn't need (and shouldn't) run its normal event source which polls
|
||||||
* the X fd, but we do have to deal with dispatching events that accumulate
|
* the X fd, but we do have to deal with dispatching events that accumulate
|
||||||
@ -419,19 +395,15 @@ meta_clutter_init (GOptionContext *ctx, int *argc, char ***argv)
|
|||||||
|
|
||||||
if (CLUTTER_INIT_SUCCESS == clutter_init (argc, argv))
|
if (CLUTTER_INIT_SUCCESS == clutter_init (argc, argv))
|
||||||
{
|
{
|
||||||
meta_compositor_can_use_clutter__ = 1;
|
|
||||||
|
|
||||||
GSource *source = g_source_new (&event_funcs, sizeof (GSource));
|
GSource *source = g_source_new (&event_funcs, sizeof (GSource));
|
||||||
g_source_attach (source, NULL);
|
g_source_attach (source, NULL);
|
||||||
g_source_unref (source);
|
g_source_unref (source);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_message ("Unable to initialize Clutter.\n");
|
meta_fatal ("Unable to initialize Clutter.\n");
|
||||||
meta_compositor_can_use_clutter__ = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Selects which display Mutter should use. It first tries to use
|
* Selects which display Mutter should use. It first tries to use
|
||||||
@ -581,7 +553,6 @@ main (int argc, char **argv)
|
|||||||
/* Parse command line arguments.*/
|
/* Parse command line arguments.*/
|
||||||
ctx = meta_parse_options (&argc, &argv, &meta_args);
|
ctx = meta_parse_options (&argc, &argv, &meta_args);
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
/* This must come before the introspect below, so we load all the plugins
|
/* This must come before the introspect below, so we load all the plugins
|
||||||
* in order to get their get_type functions.
|
* in order to get their get_type functions.
|
||||||
*/
|
*/
|
||||||
@ -603,7 +574,6 @@ main (int argc, char **argv)
|
|||||||
g_slist_free(plugins_list);
|
g_slist_free(plugins_list);
|
||||||
g_strfreev (plugins);
|
g_strfreev (plugins);
|
||||||
}
|
}
|
||||||
#endif /* WITH_CLUTTER */
|
|
||||||
|
|
||||||
#ifdef HAVE_INTROSPECTION
|
#ifdef HAVE_INTROSPECTION
|
||||||
g_irepository_prepend_search_path (MUTTER_PKGLIBDIR);
|
g_irepository_prepend_search_path (MUTTER_PKGLIBDIR);
|
||||||
@ -648,12 +618,10 @@ main (int argc, char **argv)
|
|||||||
|
|
||||||
meta_ui_init (&argc, &argv);
|
meta_ui_init (&argc, &argv);
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
/*
|
/*
|
||||||
* Clutter can only be initialized after the UI.
|
* Clutter can only be initialized after the UI.
|
||||||
*/
|
*/
|
||||||
meta_clutter_init (ctx, &argc, &argv);
|
meta_clutter_init (ctx, &argc, &argv);
|
||||||
#endif
|
|
||||||
|
|
||||||
g_option_context_free (ctx);
|
g_option_context_free (ctx);
|
||||||
|
|
||||||
|
@ -64,10 +64,7 @@
|
|||||||
|
|
||||||
#define KEY_WORKSPACE_NAME_PREFIX "/apps/metacity/workspace_names/name_"
|
#define KEY_WORKSPACE_NAME_PREFIX "/apps/metacity/workspace_names/name_"
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
#define KEY_CLUTTER_DISABLED "/apps/mutter/general/clutter_disabled"
|
|
||||||
#define KEY_CLUTTER_PLUGINS "/apps/mutter/general/clutter_plugins"
|
#define KEY_CLUTTER_PLUGINS "/apps/mutter/general/clutter_plugins"
|
||||||
#endif
|
|
||||||
|
|
||||||
#define KEY_LIVE_HIDDEN_WINDOWS "/apps/mutter/general/live_hidden_windows"
|
#define KEY_LIVE_HIDDEN_WINDOWS "/apps/mutter/general/live_hidden_windows"
|
||||||
|
|
||||||
@ -115,11 +112,8 @@ static char *terminal_command = NULL;
|
|||||||
|
|
||||||
static char *workspace_names[MAX_REASONABLE_WORKSPACES] = { NULL, };
|
static char *workspace_names[MAX_REASONABLE_WORKSPACES] = { NULL, };
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
static gboolean clutter_disabled = FALSE;
|
|
||||||
static gboolean clutter_plugins_overridden = FALSE;
|
static gboolean clutter_plugins_overridden = FALSE;
|
||||||
static GSList *clutter_plugins = NULL;
|
static GSList *clutter_plugins = NULL;
|
||||||
#endif
|
|
||||||
|
|
||||||
static gboolean live_hidden_windows = FALSE;
|
static gboolean live_hidden_windows = FALSE;
|
||||||
|
|
||||||
@ -428,13 +422,6 @@ static MetaBoolPreference preferences_bool[] =
|
|||||||
&resize_with_right_button,
|
&resize_with_right_button,
|
||||||
FALSE,
|
FALSE,
|
||||||
},
|
},
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
{ "/apps/mutter/general/clutter_disabled",
|
|
||||||
META_PREF_CLUTTER_DISABLED,
|
|
||||||
&clutter_disabled,
|
|
||||||
FALSE,
|
|
||||||
},
|
|
||||||
#endif
|
|
||||||
{ "/apps/mutter/general/live_hidden_windows",
|
{ "/apps/mutter/general/live_hidden_windows",
|
||||||
META_PREF_LIVE_HIDDEN_WINDOWS,
|
META_PREF_LIVE_HIDDEN_WINDOWS,
|
||||||
&live_hidden_windows,
|
&live_hidden_windows,
|
||||||
@ -1068,13 +1055,11 @@ meta_prefs_init (void)
|
|||||||
handle_preference_init_string ();
|
handle_preference_init_string ();
|
||||||
handle_preference_init_int ();
|
handle_preference_init_int ();
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
if (!clutter_plugins_overridden)
|
if (!clutter_plugins_overridden)
|
||||||
clutter_plugins = gconf_client_get_list (default_client, KEY_CLUTTER_PLUGINS,
|
clutter_plugins = gconf_client_get_list (default_client, KEY_CLUTTER_PLUGINS,
|
||||||
GCONF_VALUE_STRING, &err);
|
GCONF_VALUE_STRING, &err);
|
||||||
|
|
||||||
cleanup_error (&err);
|
cleanup_error (&err);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* @@@ Is there any reason we don't do the add_dir here? */
|
/* @@@ Is there any reason we don't do the add_dir here? */
|
||||||
for (gconf_dir_cursor=gconf_dirs_we_are_interested_in;
|
for (gconf_dir_cursor=gconf_dirs_we_are_interested_in;
|
||||||
@ -1223,7 +1208,6 @@ change_notify (GConfClient *client,
|
|||||||
{
|
{
|
||||||
queue_changed (META_PREF_KEYBINDINGS);
|
queue_changed (META_PREF_KEYBINDINGS);
|
||||||
}
|
}
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
else if (g_str_equal (key, KEY_CLUTTER_PLUGINS) && !clutter_plugins_overridden)
|
else if (g_str_equal (key, KEY_CLUTTER_PLUGINS) && !clutter_plugins_overridden)
|
||||||
{
|
{
|
||||||
GError *err = NULL;
|
GError *err = NULL;
|
||||||
@ -1241,7 +1225,6 @@ change_notify (GConfClient *client,
|
|||||||
clutter_plugins = l;
|
clutter_plugins = l;
|
||||||
queue_changed (META_PREF_CLUTTER_PLUGINS);
|
queue_changed (META_PREF_CLUTTER_PLUGINS);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_PREFS, "Key %s doesn't mean anything to Mutter\n",
|
meta_topic (META_DEBUG_PREFS, "Key %s doesn't mean anything to Mutter\n",
|
||||||
@ -1825,14 +1808,13 @@ meta_preference_to_string (MetaPreference pref)
|
|||||||
|
|
||||||
case META_PREF_RESIZE_WITH_RIGHT_BUTTON:
|
case META_PREF_RESIZE_WITH_RIGHT_BUTTON:
|
||||||
return "RESIZE_WITH_RIGHT_BUTTON";
|
return "RESIZE_WITH_RIGHT_BUTTON";
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
case META_PREF_CLUTTER_DISABLED:
|
|
||||||
return "CLUTTER_DISABLED";
|
|
||||||
case META_PREF_CLUTTER_PLUGINS:
|
case META_PREF_CLUTTER_PLUGINS:
|
||||||
return "CLUTTER_PLUGINS";
|
return "CLUTTER_PLUGINS";
|
||||||
#endif
|
|
||||||
case META_PREF_LIVE_HIDDEN_WINDOWS:
|
case META_PREF_LIVE_HIDDEN_WINDOWS:
|
||||||
return "LIVE_HIDDEN_WINDOWS";
|
return "LIVE_HIDDEN_WINDOWS";
|
||||||
|
|
||||||
case META_PREF_NO_TAB_POPUP:
|
case META_PREF_NO_TAB_POPUP:
|
||||||
return "NO_TAB_POPUP";
|
return "NO_TAB_POPUP";
|
||||||
}
|
}
|
||||||
@ -2847,35 +2829,6 @@ meta_prefs_set_compositing_manager (gboolean whether)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
gboolean
|
|
||||||
meta_prefs_get_clutter_disabled (void)
|
|
||||||
{
|
|
||||||
return clutter_disabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_prefs_set_clutter_disabled (gboolean whether)
|
|
||||||
{
|
|
||||||
#ifdef HAVE_GCONF
|
|
||||||
GError *err = NULL;
|
|
||||||
|
|
||||||
gconf_client_set_bool (default_client,
|
|
||||||
KEY_CLUTTER_DISABLED,
|
|
||||||
whether,
|
|
||||||
&err);
|
|
||||||
|
|
||||||
if (err)
|
|
||||||
{
|
|
||||||
meta_warning (_("Error setting clutter status status: %s\n"),
|
|
||||||
err->message);
|
|
||||||
g_error_free (err);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
clutter_disabled = whether;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
GSList *
|
GSList *
|
||||||
meta_prefs_get_clutter_plugins (void)
|
meta_prefs_get_clutter_plugins (void)
|
||||||
{
|
{
|
||||||
@ -2914,7 +2867,6 @@ meta_prefs_override_clutter_plugins (GSList *list)
|
|||||||
|
|
||||||
clutter_plugins = g_slist_reverse (clutter_plugins);
|
clutter_plugins = g_slist_reverse (clutter_plugins);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
meta_prefs_get_live_hidden_windows (void)
|
meta_prefs_get_live_hidden_windows (void)
|
||||||
|
@ -117,9 +117,7 @@ struct _MetaScreen
|
|||||||
guint startup_sequence_timeout;
|
guint startup_sequence_timeout;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
Window wm_cm_selection_window;
|
Window wm_cm_selection_window;
|
||||||
#endif
|
|
||||||
|
|
||||||
guint work_area_idle;
|
guint work_area_idle;
|
||||||
|
|
||||||
|
@ -604,10 +604,7 @@ meta_screen_new (MetaDisplay *display,
|
|||||||
LeaveWindowMask | EnterWindowMask |
|
LeaveWindowMask | EnterWindowMask |
|
||||||
KeyPressMask | KeyReleaseMask |
|
KeyPressMask | KeyReleaseMask |
|
||||||
FocusChangeMask | StructureNotifyMask |
|
FocusChangeMask | StructureNotifyMask |
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
ExposureMask | attr.your_event_mask);
|
||||||
ExposureMask |
|
|
||||||
#endif
|
|
||||||
attr.your_event_mask);
|
|
||||||
if (meta_error_trap_pop_with_return (display, FALSE) != Success)
|
if (meta_error_trap_pop_with_return (display, FALSE) != Success)
|
||||||
{
|
{
|
||||||
meta_warning (_("Screen %d on display \"%s\" already has a window manager\n"),
|
meta_warning (_("Screen %d on display \"%s\" already has a window manager\n"),
|
||||||
@ -638,11 +635,9 @@ meta_screen_new (MetaDisplay *display,
|
|||||||
screen->wm_sn_atom = wm_sn_atom;
|
screen->wm_sn_atom = wm_sn_atom;
|
||||||
screen->wm_sn_timestamp = manager_timestamp;
|
screen->wm_sn_timestamp = manager_timestamp;
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay,
|
screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay,
|
||||||
xroot,
|
xroot,
|
||||||
NoEventMask);
|
NoEventMask);
|
||||||
#endif
|
|
||||||
screen->work_area_idle = 0;
|
screen->work_area_idle = 0;
|
||||||
|
|
||||||
screen->active_workspace = NULL;
|
screen->active_workspace = NULL;
|
||||||
@ -939,7 +934,6 @@ meta_screen_manage_all_windows (MetaScreen *screen)
|
|||||||
void
|
void
|
||||||
meta_screen_composite_all_windows (MetaScreen *screen)
|
meta_screen_composite_all_windows (MetaScreen *screen)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
MetaDisplay *display;
|
MetaDisplay *display;
|
||||||
GSList *windows, *tmp;
|
GSList *windows, *tmp;
|
||||||
|
|
||||||
@ -955,7 +949,6 @@ meta_screen_composite_all_windows (MetaScreen *screen)
|
|||||||
|
|
||||||
/* initialize the compositor's view of the stacking order */
|
/* initialize the compositor's view of the stacking order */
|
||||||
meta_stack_tracker_sync_stack (screen->stack_tracker);
|
meta_stack_tracker_sync_stack (screen->stack_tracker);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2967,7 +2960,6 @@ meta_screen_set_compositor_data (MetaScreen *screen,
|
|||||||
screen->compositor_data = compositor;
|
screen->compositor_data = compositor;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
void
|
void
|
||||||
meta_screen_set_cm_selection (MetaScreen *screen)
|
meta_screen_set_cm_selection (MetaScreen *screen)
|
||||||
{
|
{
|
||||||
@ -2991,7 +2983,6 @@ meta_screen_unset_cm_selection (MetaScreen *screen)
|
|||||||
a = XInternAtom (screen->display->xdisplay, selection, FALSE);
|
a = XInternAtom (screen->display->xdisplay, selection, FALSE);
|
||||||
XSetSelectionOwner (screen->display->xdisplay, a, None, CurrentTime);
|
XSetSelectionOwner (screen->display->xdisplay, a, None, CurrentTime);
|
||||||
}
|
}
|
||||||
#endif /* HAVE_COMPOSITE_EXTENSIONS */
|
|
||||||
|
|
||||||
GList *
|
GList *
|
||||||
meta_screen_get_workspaces (MetaScreen *screen)
|
meta_screen_get_workspaces (MetaScreen *screen)
|
||||||
|
@ -358,9 +358,7 @@ struct _MetaWindow
|
|||||||
/* maintained by group.c */
|
/* maintained by group.c */
|
||||||
MetaGroup *group;
|
MetaGroup *group;
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
GObject *compositor_private;
|
GObject *compositor_private;
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _MetaWindowClass
|
struct _MetaWindowClass
|
||||||
|
@ -53,9 +53,7 @@
|
|||||||
#include <X11/extensions/shape.h>
|
#include <X11/extensions/shape.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
#include <X11/extensions/Xcomposite.h>
|
#include <X11/extensions/Xcomposite.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
static int destroying_windows_disallowed = 0;
|
static int destroying_windows_disallowed = 0;
|
||||||
|
|
||||||
@ -463,14 +461,12 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
|||||||
/* any windows created via meta_create_offscreen_window: */
|
/* any windows created via meta_create_offscreen_window: */
|
||||||
(attrs->x == -100 && attrs->y == -100
|
(attrs->x == -100 && attrs->y == -100
|
||||||
&& attrs->width == 1 && attrs->height == 1) ||
|
&& attrs->width == 1 && attrs->height == 1) ||
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
xwindow == screen->wm_cm_selection_window ||
|
xwindow == screen->wm_cm_selection_window ||
|
||||||
xwindow == screen->guard_window ||
|
xwindow == screen->guard_window ||
|
||||||
(display->compositor &&
|
(display->compositor &&
|
||||||
xwindow == XCompositeGetOverlayWindow (display->xdisplay,
|
xwindow == XCompositeGetOverlayWindow (display->xdisplay,
|
||||||
screen->xroot)
|
screen->xroot)
|
||||||
)
|
)
|
||||||
#endif
|
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
meta_verbose ("Not managing our own windows\n");
|
meta_verbose ("Not managing our own windows\n");
|
||||||
|
@ -29,9 +29,7 @@
|
|||||||
#include "errors.h"
|
#include "errors.h"
|
||||||
#include "prefs.h"
|
#include "prefs.h"
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
#include "compositor.h"
|
#include "compositor.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -531,7 +529,6 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
|
|||||||
meta_workspace_focus_default_window (workspace, NULL, timestamp);
|
meta_workspace_focus_default_window (workspace, NULL, timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Notify the compositor that the active workspace changed.
|
* Notify the compositor that the active workspace changed.
|
||||||
@ -583,7 +580,6 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
|
|||||||
|
|
||||||
meta_compositor_switch_workspace (comp, screen, old, workspace, direction);
|
meta_compositor_switch_workspace (comp, screen, old, workspace, direction);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -926,18 +922,14 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
|
|||||||
/* We're all done, YAAY! Record that everything has been validated. */
|
/* We're all done, YAAY! Record that everything has been validated. */
|
||||||
workspace->work_areas_invalid = FALSE;
|
workspace->work_areas_invalid = FALSE;
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
/*
|
||||||
{
|
* Notify the compositor that the workspace geometry has changed.
|
||||||
/*
|
*/
|
||||||
* Notify the compositor that the workspace geometry has changed.
|
MetaScreen *screen = workspace->screen;
|
||||||
*/
|
MetaDisplay *display = meta_screen_get_display (screen);
|
||||||
MetaScreen *screen = workspace->screen;
|
MetaCompositor *comp = meta_display_get_compositor (display);
|
||||||
MetaDisplay *display = meta_screen_get_display (screen);
|
|
||||||
MetaCompositor *comp = meta_display_get_compositor (display);
|
|
||||||
|
|
||||||
meta_compositor_update_workspace_geometry (comp, workspace);
|
meta_compositor_update_workspace_geometry (comp, workspace);
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,77 +0,0 @@
|
|||||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2008 Matthew Allum
|
|
||||||
* Copyright (C) 2007 Iain Holmes
|
|
||||||
* Based on xcompmgr - (c) 2003 Keith Packard
|
|
||||||
* xfwm4 - (c) 2005-2007 Olivier Fourdan
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; either version 2 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
||||||
* 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef META_COMPOSITOR_CLUTTER_H_
|
|
||||||
#define META_COMPOSITOR_CLUTTER_H_
|
|
||||||
|
|
||||||
#include <clutter/clutter.h>
|
|
||||||
#include <xlib/xlib.h>
|
|
||||||
|
|
||||||
#include "types.h"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MetaCompWindow object (ClutterGroup sub-class)
|
|
||||||
*/
|
|
||||||
#define META_TYPE_COMP_WINDOW (meta_comp_window_get_type ())
|
|
||||||
#define META_COMP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_COMP_WINDOW, MetaCompWindow))
|
|
||||||
#define META_COMP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_COMP_WINDOW, MetaCompWindowClass))
|
|
||||||
#define IS_META_COMP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_COMP_WINDOW_TYPE))
|
|
||||||
#define META_IS_COMP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_COMP_WINDOW))
|
|
||||||
#define META_COMP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_COMP_WINDOW, MetaCompWindowClass))
|
|
||||||
|
|
||||||
typedef struct _MetaCompWindow MetaCompWindow;
|
|
||||||
typedef struct _MetaCompWindowClass MetaCompWindowClass;
|
|
||||||
typedef struct _MetaCompWindowPrivate MetaCompWindowPrivate;
|
|
||||||
|
|
||||||
struct _MetaCompWindowClass
|
|
||||||
{
|
|
||||||
ClutterGroupClass parent_class;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _MetaCompWindow
|
|
||||||
{
|
|
||||||
ClutterGroup parent;
|
|
||||||
|
|
||||||
MetaCompWindowPrivate *priv;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType meta_comp_window_get_type (void);
|
|
||||||
|
|
||||||
Window meta_comp_window_get_x_window (MetaCompWindow *mcw);
|
|
||||||
MetaCompWindowType meta_comp_window_get_window_type (MetaCompWindow *mcw);
|
|
||||||
gint meta_comp_window_get_workspace (MetaCompWindow *mcw);
|
|
||||||
|
|
||||||
|
|
||||||
/* Compositor API */
|
|
||||||
MetaCompositor *meta_compositor_clutter_new (MetaDisplay *display);
|
|
||||||
|
|
||||||
void meta_compositor_clutter_window_effect_completed (MetaCompWindow *actor, gulong event);
|
|
||||||
|
|
||||||
ClutterActor * meta_compositor_clutter_get_stage_for_screen (MetaScreen *screen);
|
|
||||||
ClutterActor * meta_compositor_clutter_get_overlay_group_for_screen (MetaScreen *screen);
|
|
||||||
|
|
||||||
Window meta_compositor_clutter_get_overlay_window (MetaScreen *screen);
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
@ -53,9 +53,6 @@ typedef enum _MetaCompWindowType
|
|||||||
|
|
||||||
} MetaCompWindowType;
|
} MetaCompWindowType;
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
extern int meta_compositor_can_use_clutter__;
|
|
||||||
#endif
|
|
||||||
MetaCompositor *meta_compositor_new (MetaDisplay *display);
|
MetaCompositor *meta_compositor_new (MetaDisplay *display);
|
||||||
void meta_compositor_destroy (MetaCompositor *compositor);
|
void meta_compositor_destroy (MetaCompositor *compositor);
|
||||||
|
|
||||||
|
@ -60,10 +60,7 @@ typedef enum
|
|||||||
META_PREF_CURSOR_SIZE,
|
META_PREF_CURSOR_SIZE,
|
||||||
META_PREF_COMPOSITING_MANAGER,
|
META_PREF_COMPOSITING_MANAGER,
|
||||||
META_PREF_RESIZE_WITH_RIGHT_BUTTON,
|
META_PREF_RESIZE_WITH_RIGHT_BUTTON,
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
META_PREF_CLUTTER_DISABLED,
|
|
||||||
META_PREF_CLUTTER_PLUGINS,
|
META_PREF_CLUTTER_PLUGINS,
|
||||||
#endif
|
|
||||||
META_PREF_LIVE_HIDDEN_WINDOWS,
|
META_PREF_LIVE_HIDDEN_WINDOWS,
|
||||||
META_PREF_NO_TAB_POPUP,
|
META_PREF_NO_TAB_POPUP,
|
||||||
} MetaPreference;
|
} MetaPreference;
|
||||||
@ -128,11 +125,6 @@ gboolean meta_prefs_get_compositing_manager (void);
|
|||||||
*/
|
*/
|
||||||
void meta_prefs_set_compositing_manager (gboolean whether);
|
void meta_prefs_set_compositing_manager (gboolean whether);
|
||||||
|
|
||||||
#ifdef WITH_CLUTTER
|
|
||||||
|
|
||||||
gboolean meta_prefs_get_clutter_disabled (void);
|
|
||||||
void meta_prefs_set_clutter_disabled (gboolean whether);
|
|
||||||
|
|
||||||
GSList * meta_prefs_get_clutter_plugins (void);
|
GSList * meta_prefs_get_clutter_plugins (void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -150,8 +142,6 @@ void meta_prefs_set_clutter_plugins (GSList *list);
|
|||||||
*/
|
*/
|
||||||
void meta_prefs_override_clutter_plugins (GSList *list);
|
void meta_prefs_override_clutter_plugins (GSList *list);
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
gboolean meta_prefs_get_live_hidden_windows (void);
|
gboolean meta_prefs_get_live_hidden_windows (void);
|
||||||
void meta_prefs_set_live_hidden_windows (gboolean whether);
|
void meta_prefs_set_live_hidden_windows (gboolean whether);
|
||||||
|
|
||||||
|
@ -51,10 +51,8 @@ void meta_screen_set_compositor_data (MetaScreen *screen,
|
|||||||
|
|
||||||
MetaScreen *meta_screen_for_x_screen (Screen *xscreen);
|
MetaScreen *meta_screen_for_x_screen (Screen *xscreen);
|
||||||
|
|
||||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
|
||||||
void meta_screen_set_cm_selection (MetaScreen *screen);
|
void meta_screen_set_cm_selection (MetaScreen *screen);
|
||||||
void meta_screen_unset_cm_selection (MetaScreen *screen);
|
void meta_screen_unset_cm_selection (MetaScreen *screen);
|
||||||
#endif
|
|
||||||
|
|
||||||
GList *meta_screen_get_workspaces (MetaScreen *screen);
|
GList *meta_screen_get_workspaces (MetaScreen *screen);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user