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
33 changed files with 50 additions and 3584 deletions
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]),,
|
||||
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_HELP_STRING([--without-introspection],
|
||||
[disable the use of GObject introspection]),,
|
||||
|
@ -173,11 +163,6 @@ AC_ARG_ENABLE(xsync,
|
|||
[disable mutter's use of the XSync extension]),,
|
||||
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_HELP_STRING([--disable-shape],
|
||||
[disable mutter's use of the shaped window extension]),,
|
||||
|
@ -231,43 +216,10 @@ else
|
|||
echo "Building without libstartup-notification"
|
||||
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
|
||||
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
|
||||
have_xcomposite=yes
|
||||
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
|
||||
AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
|
||||
if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
||||
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, 1, [Building with compositing manager support])
|
||||
echo "Building with compositing manager"
|
||||
|
@ -275,42 +227,13 @@ if test x$have_xcomposite = xyes; then
|
|||
## force on render also
|
||||
have_xrender=yes
|
||||
else
|
||||
echo "Building without compositing manager"
|
||||
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])
|
||||
AC_MSG_ERROR([no. Mutter requires the Xcomposite extension to build.])
|
||||
fi
|
||||
|
||||
CLUTTER_VERSION=0.9.3
|
||||
CLUTTER_PACKAGE=clutter-0.9
|
||||
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 "
|
||||
PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE)
|
||||
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, ,
|
||||
[Is ClutterGLXTexturePixmap available?])
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([no. Mutter requires Clutter version $CLUTTER_VERSION.])
|
||||
fi
|
||||
|
||||
if test x$with_introspection != xno; then
|
||||
|
@ -578,7 +503,7 @@ src/wm-tester/Makefile
|
|||
src/libmutter-private.pc
|
||||
src/mutter-plugins.pc
|
||||
src/tools/Makefile
|
||||
src/compositor/mutter/plugins/Makefile
|
||||
src/compositor/plugins/Makefile
|
||||
po/Makefile.in
|
||||
])
|
||||
|
||||
|
@ -611,15 +536,11 @@ mutter-$VERSION:
|
|||
XFree86 Xinerama: ${use_xfree_xinerama}
|
||||
Solaris Xinerama: ${use_solaris_xinerama}
|
||||
Startup notification: ${have_startup_notification}
|
||||
Compositing manager: ${have_xcomposite}
|
||||
Introspection: ${have_introspection}
|
||||
Session management: ${found_sm}
|
||||
Shape extension: ${found_shape}
|
||||
Resize-and-rotate: ${found_randr}
|
||||
Xsync: ${found_xsync}
|
||||
Render: ${have_xrender}
|
||||
Xcursor: ${have_xcursor}
|
||||
Clutter: ${have_clutter}
|
||||
"
|
||||
|
||||
MUTTER_MINOR_VERSION=mutter_minor_version
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
lib_LTLIBRARIES = libmutter-private.la
|
||||
|
||||
SUBDIRS=wm-tester tools
|
||||
|
||||
if WITH_CLUTTER
|
||||
SUBDIRS += compositor/mutter/plugins
|
||||
endif
|
||||
SUBDIRS=wm-tester tools compositor/plugins
|
||||
|
||||
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 \
|
||||
compositor/compositor.c \
|
||||
compositor/compositor-private.h \
|
||||
compositor/compositor-xrender.c \
|
||||
compositor/compositor-xrender.h \
|
||||
compositor/compositor-mutter.c \
|
||||
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/mutter-plugin.h \
|
||||
include/compositor-mutter.h \
|
||||
core/constraints.c \
|
||||
core/constraints.h \
|
||||
core/core.c \
|
||||
|
@ -108,22 +114,6 @@ mutter_SOURCES= \
|
|||
ui/ui.c \
|
||||
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
|
||||
# mutter proper will be compiled with different names.
|
||||
libmutter_private_la_CFLAGS =
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
#include <gdk/gdk.h>
|
||||
|
||||
#include "../../core/window-private.h"
|
||||
#include "../core/window-private.h"
|
||||
#include "display.h"
|
||||
#include "screen.h"
|
||||
#include "frame.h"
|
||||
|
@ -105,7 +105,6 @@ meta_xattrs_get_type (void)
|
|||
|
||||
static unsigned char* shadow_gaussian_make_tile (void);
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
static inline gboolean
|
||||
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));
|
||||
}
|
||||
#endif
|
||||
|
||||
typedef struct _Mutter
|
||||
{
|
||||
|
@ -1143,9 +1141,6 @@ mutter_window_effect_completed (MutterWindow *cw, gulong event)
|
|||
static void
|
||||
clutter_cmp_destroy (MetaCompositor *compositor)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1854,7 +1849,6 @@ static void
|
|||
clutter_cmp_manage_screen (MetaCompositor *compositor,
|
||||
MetaScreen *screen)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MetaCompScreen *info;
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
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->stage);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_cmp_unmanage_screen (MetaCompositor *compositor,
|
||||
MetaScreen *screen)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_cmp_add_window (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MetaScreen *screen = meta_window_get_screen (window);
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
|
||||
|
@ -1998,14 +1987,12 @@ clutter_cmp_add_window (MetaCompositor *compositor,
|
|||
add_win (window);
|
||||
|
||||
meta_error_trap_pop (display, FALSE);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_cmp_remove_window (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MutterWindow *cw = NULL;
|
||||
|
||||
DEBUG_TRACE ("clutter_cmp_remove_window\n");
|
||||
|
@ -2014,7 +2001,6 @@ clutter_cmp_remove_window (MetaCompositor *compositor,
|
|||
return;
|
||||
|
||||
destroy_win (cw);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2022,9 +2008,6 @@ clutter_cmp_set_updates (MetaCompositor *compositor,
|
|||
MetaWindow *window,
|
||||
gboolean update)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -2032,7 +2015,6 @@ clutter_cmp_process_event (MetaCompositor *compositor,
|
|||
XEvent *event,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
Mutter *xrc = (Mutter *) compositor;
|
||||
|
||||
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.
|
||||
*/
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
static Pixmap
|
||||
clutter_cmp_get_window_pixmap (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
return None;
|
||||
#else
|
||||
return None;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2134,35 +2111,28 @@ clutter_cmp_set_active_window (MetaCompositor *compositor,
|
|||
MetaScreen *screen,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_cmp_map_window (MetaCompositor *compositor, MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||
DEBUG_TRACE ("clutter_cmp_map_window\n");
|
||||
if (!cw)
|
||||
return;
|
||||
|
||||
map_win (cw);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_cmp_unmap_window (MetaCompositor *compositor, MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||
DEBUG_TRACE ("clutter_cmp_unmap_window\n");
|
||||
if (!cw)
|
||||
return;
|
||||
|
||||
unmap_win (cw);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2171,7 +2141,6 @@ clutter_cmp_minimize_window (MetaCompositor *compositor,
|
|||
MetaRectangle *window_rect,
|
||||
MetaRectangle *icon_rect)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||
MetaScreen *screen = meta_window_get_screen (window);
|
||||
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->minimize_in_progress--;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2206,7 +2174,6 @@ clutter_cmp_unminimize_window (MetaCompositor *compositor,
|
|||
MetaRectangle *window_rect,
|
||||
MetaRectangle *icon_rect)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
#if 0
|
||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||
MetaScreen *screen = meta_window_get_screen (window);
|
||||
|
@ -2239,7 +2206,6 @@ clutter_cmp_unminimize_window (MetaCompositor *compositor,
|
|||
|
||||
map_win (cw);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -2248,7 +2214,6 @@ clutter_cmp_maximize_window (MetaCompositor *compositor,
|
|||
MetaWindow *window,
|
||||
MetaRectangle *rect)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||
MetaScreen *screen = meta_window_get_screen (window);
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
|
@ -2270,7 +2235,6 @@ clutter_cmp_maximize_window (MetaCompositor *compositor,
|
|||
{
|
||||
cw->priv->maximize_in_progress--;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2278,7 +2242,6 @@ clutter_cmp_unmaximize_window (MetaCompositor *compositor,
|
|||
MetaWindow *window,
|
||||
MetaRectangle *rect)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||
MetaScreen *screen = meta_window_get_screen (window);
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
|
@ -2300,14 +2263,12 @@ clutter_cmp_unmaximize_window (MetaCompositor *compositor,
|
|||
{
|
||||
cw->priv->unmaximize_in_progress--;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_cmp_update_workspace_geometry (MetaCompositor *compositor,
|
||||
MetaWorkspace *workspace)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
#if 0
|
||||
/* FIXME -- should do away with this function in favour of MetaWorkspace
|
||||
* signal.
|
||||
|
@ -2325,7 +2286,6 @@ clutter_cmp_update_workspace_geometry (MetaCompositor *compositor,
|
|||
|
||||
mutter_plugin_manager_update_workspace (mgr, workspace);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2335,7 +2295,6 @@ clutter_cmp_switch_workspace (MetaCompositor *compositor,
|
|||
MetaWorkspace *to,
|
||||
MetaMotionDirection direction)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MetaCompScreen *info;
|
||||
gint to_indx, from_indx;
|
||||
|
||||
|
@ -2406,7 +2365,6 @@ clutter_cmp_switch_workspace (MetaCompositor *compositor,
|
|||
*/
|
||||
mutter_finish_workspace_switch (info);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2555,7 +2513,6 @@ static void
|
|||
clutter_cmp_sync_window_geometry (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
|
||||
MetaScreen *screen = meta_window_get_screen (window);
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
|
@ -2567,8 +2524,6 @@ clutter_cmp_sync_window_geometry (MetaCompositor *compositor,
|
|||
return;
|
||||
|
||||
sync_actor_position (cw);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2577,7 +2532,6 @@ clutter_cmp_sync_screen_size (MetaCompositor *compositor,
|
|||
guint width,
|
||||
guint height)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
|
||||
|
||||
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_screen_get_screen_number (screen),
|
||||
width, height);
|
||||
#endif
|
||||
}
|
||||
|
||||
static MetaCompositor comp_info = {
|
||||
|
@ -2618,7 +2571,6 @@ static MetaCompositor comp_info = {
|
|||
MetaCompositor *
|
||||
mutter_new (MetaDisplay *display)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
char *atom_names[] = {
|
||||
"_XROOTPMAP_ID",
|
||||
"_XSETROOT_ID",
|
||||
|
@ -2669,9 +2621,6 @@ mutter_new (MetaDisplay *display)
|
|||
free (data);
|
||||
|
||||
return compositor;
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
Window
|
||||
|
@ -2978,5 +2927,3 @@ shadow_gaussian_make_tile ()
|
|||
|
||||
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 "compositor-private.h"
|
||||
#include "compositor-xrender.h"
|
||||
#include "prefs.h"
|
||||
|
||||
#ifdef WITH_CLUTTER
|
||||
#include "compositor-mutter.h"
|
||||
int meta_compositor_can_use_clutter__ = 0;
|
||||
#endif
|
||||
#include "prefs.h"
|
||||
|
||||
MetaCompositor *
|
||||
meta_compositor_new (MetaDisplay *display)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
#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
|
||||
return mutter_new (display);
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_destroy (MetaCompositor *compositor)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->destroy)
|
||||
compositor->destroy (compositor);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_add_window (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->add_window)
|
||||
compositor->add_window (compositor, window);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_remove_window (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->remove_window)
|
||||
compositor->remove_window (compositor, window);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_manage_screen (MetaCompositor *compositor,
|
||||
MetaScreen *screen)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->manage_screen)
|
||||
compositor->manage_screen (compositor, screen);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_unmanage_screen (MetaCompositor *compositor,
|
||||
MetaScreen *screen)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->unmanage_screen)
|
||||
compositor->unmanage_screen (compositor, screen);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -100,10 +74,8 @@ meta_compositor_set_updates (MetaCompositor *compositor,
|
|||
MetaWindow *window,
|
||||
gboolean updates)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->set_updates)
|
||||
compositor->set_updates (compositor, window, updates);
|
||||
#endif
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
@ -111,26 +83,20 @@ meta_compositor_process_event (MetaCompositor *compositor,
|
|||
XEvent *event,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->process_event)
|
||||
return compositor->process_event (compositor, event, window);
|
||||
else
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
Pixmap
|
||||
meta_compositor_get_window_pixmap (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->get_window_pixmap)
|
||||
return compositor->get_window_pixmap (compositor, window);
|
||||
else
|
||||
return None;
|
||||
#else
|
||||
return None;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -138,10 +104,8 @@ meta_compositor_set_active_window (MetaCompositor *compositor,
|
|||
MetaScreen *screen,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->set_active_window)
|
||||
compositor->set_active_window (compositor, screen, window);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* These functions are unused at the moment */
|
||||
|
@ -169,20 +133,16 @@ void
|
|||
meta_compositor_map_window (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->map_window)
|
||||
compositor->map_window (compositor, window);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_unmap_window (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->unmap_window)
|
||||
compositor->unmap_window (compositor, window);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -191,10 +151,8 @@ meta_compositor_minimize_window (MetaCompositor *compositor,
|
|||
MetaRectangle *window_rect,
|
||||
MetaRectangle *icon_rect)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->minimize_window)
|
||||
compositor->minimize_window (compositor, window, window_rect, icon_rect);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -203,10 +161,8 @@ meta_compositor_unminimize_window (MetaCompositor *compositor,
|
|||
MetaRectangle *window_rect,
|
||||
MetaRectangle *icon_rect)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->unminimize_window)
|
||||
compositor->unminimize_window (compositor, window, window_rect, icon_rect);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -214,10 +170,8 @@ meta_compositor_maximize_window (MetaCompositor *compositor,
|
|||
MetaWindow *window,
|
||||
MetaRectangle *window_rect)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->maximize_window)
|
||||
compositor->maximize_window (compositor, window, window_rect);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -225,20 +179,16 @@ meta_compositor_unmaximize_window (MetaCompositor *compositor,
|
|||
MetaWindow *window,
|
||||
MetaRectangle *window_rect)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->unmaximize_window)
|
||||
compositor->unmaximize_window (compositor, window, window_rect);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_update_workspace_geometry (MetaCompositor *compositor,
|
||||
MetaWorkspace *workspace)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->update_workspace_geometry)
|
||||
compositor->update_workspace_geometry (compositor, workspace);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -248,10 +198,8 @@ meta_compositor_switch_workspace (MetaCompositor *compositor,
|
|||
MetaWorkspace *to,
|
||||
MetaMotionDirection direction)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->switch_workspace)
|
||||
compositor->switch_workspace (compositor, screen, from, to, direction);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -259,10 +207,8 @@ meta_compositor_sync_stack (MetaCompositor *compositor,
|
|||
MetaScreen *screen,
|
||||
GList *stack)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->sync_stack)
|
||||
compositor->sync_stack (compositor, screen, stack);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -271,20 +217,16 @@ meta_compositor_set_window_hidden (MetaCompositor *compositor,
|
|||
MetaWindow *window,
|
||||
gboolean hidden)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->set_window_hidden)
|
||||
compositor->set_window_hidden (compositor, screen, window, hidden);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
meta_compositor_sync_window_geometry (MetaCompositor *compositor,
|
||||
MetaWindow *window)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->sync_window_geometry)
|
||||
compositor->sync_window_geometry (compositor, window);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -293,9 +235,6 @@ meta_compositor_sync_screen_size (MetaCompositor *compositor,
|
|||
guint width,
|
||||
guint height)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
if (compositor && compositor->sync_screen_size)
|
||||
compositor->sync_screen_size (compositor, screen, width, height);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
|
||||
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@\"
|
||||
|
||||
default_la_CFLAGS = -fPIC
|
||||
|
@ -18,5 +16,3 @@ pkglib_LTLIBRARIES = default.la
|
|||
install-exec-hook:
|
||||
-rm $(DESTDIR)$(pkglibdir)/*.a
|
||||
-rm $(DESTDIR)$(pkglibdir)/*.la
|
||||
|
||||
endif
|
|
@ -249,6 +249,18 @@ struct _MetaDisplay
|
|||
|
||||
/* Managed by compositor.c */
|
||||
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
|
||||
SnDisplay *sn_display;
|
||||
|
@ -261,20 +273,6 @@ struct _MetaDisplay
|
|||
int shape_event_base;
|
||||
int shape_error_base;
|
||||
#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
|
||||
unsigned int have_xsync : 1;
|
||||
#define META_DISPLAY_HAS_XSYNC(display) ((display)->have_xsync)
|
||||
|
@ -287,24 +285,14 @@ struct _MetaDisplay
|
|||
#else
|
||||
#define META_DISPLAY_HAS_SHAPE(display) FALSE
|
||||
#endif
|
||||
#ifdef HAVE_RENDER
|
||||
unsigned int have_render : 1;
|
||||
#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_damage : 1;
|
||||
unsigned int have_xfixes : 1;
|
||||
#define META_DISPLAY_HAS_COMPOSITE(display) ((display)->have_composite)
|
||||
#define META_DISPLAY_HAS_DAMAGE(display) ((display)->have_damage)
|
||||
#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
|
||||
|
|
|
@ -62,20 +62,16 @@
|
|||
#ifdef HAVE_SHAPE
|
||||
#include <X11/extensions/shape.h>
|
||||
#endif
|
||||
#ifdef HAVE_RENDER
|
||||
#include <X11/extensions/Xrender.h>
|
||||
#endif
|
||||
#ifdef HAVE_XKB
|
||||
#include <X11/XKBlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_XCURSOR
|
||||
#include <X11/Xcursor/Xcursor.h>
|
||||
#endif
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
#include <X11/extensions/Xrender.h>
|
||||
#include <X11/extensions/Xcomposite.h>
|
||||
#include <X11/extensions/Xdamage.h>
|
||||
#include <X11/extensions/Xfixes.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#define GRAB_OP_IS_WINDOW_SWITCH(g) \
|
||||
|
@ -546,7 +542,6 @@ meta_display_open (void)
|
|||
meta_verbose ("Not compiled with Shape support\n");
|
||||
#endif /* !HAVE_SHAPE */
|
||||
|
||||
#ifdef HAVE_RENDER
|
||||
{
|
||||
the_display->have_render = FALSE;
|
||||
|
||||
|
@ -567,11 +562,7 @@ meta_display_open (void)
|
|||
the_display->render_error_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;
|
||||
|
||||
|
@ -647,9 +638,6 @@ meta_display_open (void)
|
|||
the_display->xfixes_error_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
|
||||
{
|
||||
|
@ -5204,7 +5192,6 @@ meta_display_overlay_key_activate (MetaDisplay *display)
|
|||
g_signal_emit (display, display_signals[OVERLAY_KEY], 0);
|
||||
}
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
void
|
||||
meta_display_get_compositor_version (MetaDisplay *display,
|
||||
int *major,
|
||||
|
@ -5213,7 +5200,6 @@ meta_display_get_compositor_version (MetaDisplay *display,
|
|||
*major = display->composite_major_version;
|
||||
*minor = display->composite_minor_version;
|
||||
}
|
||||
#endif
|
||||
|
||||
Display *
|
||||
meta_display_get_xdisplay (MetaDisplay *display)
|
||||
|
@ -5257,15 +5243,12 @@ meta_display_get_focus_window (MetaDisplay *display)
|
|||
return display->focus_window;
|
||||
}
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
int
|
||||
meta_display_get_damage_event_base (MetaDisplay *display)
|
||||
{
|
||||
return display->damage_event_base;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
#ifdef HAVE_SHAPE
|
||||
int
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Atom meta_display_get_atom (MetaDisplay *display, MetaAtom meta_atom)
|
||||
{
|
||||
|
|
|
@ -29,9 +29,7 @@
|
|||
#include "errors.h"
|
||||
#include "keybindings-private.h"
|
||||
|
||||
#ifdef HAVE_RENDER
|
||||
#include <X11/extensions/Xrender.h>
|
||||
#endif
|
||||
|
||||
#define EVENT_MASK (SubstructureRedirectMask | \
|
||||
StructureNotifyMask | SubstructureNotifyMask | \
|
||||
|
|
|
@ -69,14 +69,12 @@
|
|||
#include <locale.h>
|
||||
#include <time.h>
|
||||
|
||||
#ifdef WITH_CLUTTER
|
||||
#include <clutter/clutter.h>
|
||||
#include <clutter/x11/clutter-x11.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_INTROSPECTION
|
||||
#include <girepository.h>
|
||||
#include "compositor/mutter/mutter-plugin-manager.h"
|
||||
#include "compositor/mutter-plugin-manager.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -178,11 +176,6 @@ meta_print_compilation_info (void)
|
|||
#else
|
||||
meta_verbose ("Compiled without startup notification\n");
|
||||
#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;
|
||||
} MetaArguments;
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
#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
|
||||
|
@ -316,14 +304,12 @@ meta_parse_options (int *argc, char ***argv,
|
|||
N_("Turn compositing off"),
|
||||
NULL
|
||||
},
|
||||
#ifdef WITH_CLUTTER
|
||||
{
|
||||
"mutter-plugins", 0, 0, G_OPTION_ARG_STRING,
|
||||
&my_args.mutter_plugins,
|
||||
N_("Comma-separated list of compositor plugins"),
|
||||
"PLUGINS"
|
||||
},
|
||||
#endif
|
||||
{
|
||||
"no-tab-popup", 0, 0, G_OPTION_ARG_NONE,
|
||||
&my_args.no_tab_popup,
|
||||
|
@ -344,15 +330,7 @@ meta_parse_options (int *argc, char ***argv,
|
|||
|
||||
ctx = g_option_context_new (NULL);
|
||||
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 ());
|
||||
#endif
|
||||
#endif
|
||||
|
||||
if (!g_option_context_parse (ctx, argc, argv, &error))
|
||||
{
|
||||
|
@ -365,8 +343,6 @@ meta_parse_options (int *argc, char ***argv,
|
|||
return ctx;
|
||||
}
|
||||
|
||||
|
||||
#ifdef WITH_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
|
||||
* 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))
|
||||
{
|
||||
meta_compositor_can_use_clutter__ = 1;
|
||||
|
||||
GSource *source = g_source_new (&event_funcs, sizeof (GSource));
|
||||
g_source_attach (source, NULL);
|
||||
g_source_unref (source);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_message ("Unable to initialize Clutter.\n");
|
||||
meta_compositor_can_use_clutter__ = 0;
|
||||
meta_fatal ("Unable to initialize Clutter.\n");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Selects which display Mutter should use. It first tries to use
|
||||
|
@ -581,7 +553,6 @@ main (int argc, char **argv)
|
|||
/* Parse command line arguments.*/
|
||||
ctx = meta_parse_options (&argc, &argv, &meta_args);
|
||||
|
||||
#ifdef WITH_CLUTTER
|
||||
/* This must come before the introspect below, so we load all the plugins
|
||||
* in order to get their get_type functions.
|
||||
*/
|
||||
|
@ -603,7 +574,6 @@ main (int argc, char **argv)
|
|||
g_slist_free(plugins_list);
|
||||
g_strfreev (plugins);
|
||||
}
|
||||
#endif /* WITH_CLUTTER */
|
||||
|
||||
#ifdef HAVE_INTROSPECTION
|
||||
g_irepository_prepend_search_path (MUTTER_PKGLIBDIR);
|
||||
|
@ -648,12 +618,10 @@ main (int argc, char **argv)
|
|||
|
||||
meta_ui_init (&argc, &argv);
|
||||
|
||||
#ifdef WITH_CLUTTER
|
||||
/*
|
||||
* Clutter can only be initialized after the UI.
|
||||
*/
|
||||
meta_clutter_init (ctx, &argc, &argv);
|
||||
#endif
|
||||
|
||||
g_option_context_free (ctx);
|
||||
|
||||
|
|
|
@ -64,10 +64,7 @@
|
|||
|
||||
#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"
|
||||
#endif
|
||||
|
||||
#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, };
|
||||
|
||||
#ifdef WITH_CLUTTER
|
||||
static gboolean clutter_disabled = FALSE;
|
||||
static gboolean clutter_plugins_overridden = FALSE;
|
||||
static GSList *clutter_plugins = NULL;
|
||||
#endif
|
||||
|
||||
static gboolean live_hidden_windows = FALSE;
|
||||
|
||||
|
@ -428,13 +422,6 @@ static MetaBoolPreference preferences_bool[] =
|
|||
&resize_with_right_button,
|
||||
FALSE,
|
||||
},
|
||||
#ifdef WITH_CLUTTER
|
||||
{ "/apps/mutter/general/clutter_disabled",
|
||||
META_PREF_CLUTTER_DISABLED,
|
||||
&clutter_disabled,
|
||||
FALSE,
|
||||
},
|
||||
#endif
|
||||
{ "/apps/mutter/general/live_hidden_windows",
|
||||
META_PREF_LIVE_HIDDEN_WINDOWS,
|
||||
&live_hidden_windows,
|
||||
|
@ -1068,13 +1055,11 @@ meta_prefs_init (void)
|
|||
handle_preference_init_string ();
|
||||
handle_preference_init_int ();
|
||||
|
||||
#ifdef WITH_CLUTTER
|
||||
if (!clutter_plugins_overridden)
|
||||
clutter_plugins = gconf_client_get_list (default_client, KEY_CLUTTER_PLUGINS,
|
||||
GCONF_VALUE_STRING, &err);
|
||||
|
||||
cleanup_error (&err);
|
||||
#endif
|
||||
|
||||
/* @@@ Is there any reason we don't do the add_dir here? */
|
||||
for (gconf_dir_cursor=gconf_dirs_we_are_interested_in;
|
||||
|
@ -1223,7 +1208,6 @@ change_notify (GConfClient *client,
|
|||
{
|
||||
queue_changed (META_PREF_KEYBINDINGS);
|
||||
}
|
||||
#ifdef WITH_CLUTTER
|
||||
else if (g_str_equal (key, KEY_CLUTTER_PLUGINS) && !clutter_plugins_overridden)
|
||||
{
|
||||
GError *err = NULL;
|
||||
|
@ -1241,7 +1225,6 @@ change_notify (GConfClient *client,
|
|||
clutter_plugins = l;
|
||||
queue_changed (META_PREF_CLUTTER_PLUGINS);
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
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:
|
||||
return "RESIZE_WITH_RIGHT_BUTTON";
|
||||
#ifdef WITH_CLUTTER
|
||||
case META_PREF_CLUTTER_DISABLED:
|
||||
return "CLUTTER_DISABLED";
|
||||
|
||||
case META_PREF_CLUTTER_PLUGINS:
|
||||
return "CLUTTER_PLUGINS";
|
||||
#endif
|
||||
|
||||
case META_PREF_LIVE_HIDDEN_WINDOWS:
|
||||
return "LIVE_HIDDEN_WINDOWS";
|
||||
|
||||
case META_PREF_NO_TAB_POPUP:
|
||||
return "NO_TAB_POPUP";
|
||||
}
|
||||
|
@ -2847,35 +2829,6 @@ meta_prefs_set_compositing_manager (gboolean whether)
|
|||
#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 *
|
||||
meta_prefs_get_clutter_plugins (void)
|
||||
{
|
||||
|
@ -2914,7 +2867,6 @@ meta_prefs_override_clutter_plugins (GSList *list)
|
|||
|
||||
clutter_plugins = g_slist_reverse (clutter_plugins);
|
||||
}
|
||||
#endif
|
||||
|
||||
gboolean
|
||||
meta_prefs_get_live_hidden_windows (void)
|
||||
|
|
|
@ -117,9 +117,7 @@ struct _MetaScreen
|
|||
guint startup_sequence_timeout;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
Window wm_cm_selection_window;
|
||||
#endif
|
||||
|
||||
guint work_area_idle;
|
||||
|
||||
|
|
|
@ -604,10 +604,7 @@ meta_screen_new (MetaDisplay *display,
|
|||
LeaveWindowMask | EnterWindowMask |
|
||||
KeyPressMask | KeyReleaseMask |
|
||||
FocusChangeMask | StructureNotifyMask |
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
ExposureMask |
|
||||
#endif
|
||||
attr.your_event_mask);
|
||||
ExposureMask | attr.your_event_mask);
|
||||
if (meta_error_trap_pop_with_return (display, FALSE) != Success)
|
||||
{
|
||||
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_timestamp = manager_timestamp;
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay,
|
||||
xroot,
|
||||
NoEventMask);
|
||||
#endif
|
||||
screen->work_area_idle = 0;
|
||||
|
||||
screen->active_workspace = NULL;
|
||||
|
@ -939,7 +934,6 @@ meta_screen_manage_all_windows (MetaScreen *screen)
|
|||
void
|
||||
meta_screen_composite_all_windows (MetaScreen *screen)
|
||||
{
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
MetaDisplay *display;
|
||||
GSList *windows, *tmp;
|
||||
|
||||
|
@ -955,7 +949,6 @@ meta_screen_composite_all_windows (MetaScreen *screen)
|
|||
|
||||
/* initialize the compositor's view of the stacking order */
|
||||
meta_stack_tracker_sync_stack (screen->stack_tracker);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2967,7 +2960,6 @@ meta_screen_set_compositor_data (MetaScreen *screen,
|
|||
screen->compositor_data = compositor;
|
||||
}
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
void
|
||||
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);
|
||||
XSetSelectionOwner (screen->display->xdisplay, a, None, CurrentTime);
|
||||
}
|
||||
#endif /* HAVE_COMPOSITE_EXTENSIONS */
|
||||
|
||||
GList *
|
||||
meta_screen_get_workspaces (MetaScreen *screen)
|
||||
|
|
|
@ -358,9 +358,7 @@ struct _MetaWindow
|
|||
/* maintained by group.c */
|
||||
MetaGroup *group;
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
GObject *compositor_private;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct _MetaWindowClass
|
||||
|
|
|
@ -53,9 +53,7 @@
|
|||
#include <X11/extensions/shape.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
#include <X11/extensions/Xcomposite.h>
|
||||
#endif
|
||||
|
||||
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: */
|
||||
(attrs->x == -100 && attrs->y == -100
|
||||
&& attrs->width == 1 && attrs->height == 1) ||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
xwindow == screen->wm_cm_selection_window ||
|
||||
xwindow == screen->guard_window ||
|
||||
(display->compositor &&
|
||||
xwindow == XCompositeGetOverlayWindow (display->xdisplay,
|
||||
screen->xroot)
|
||||
)
|
||||
#endif
|
||||
)
|
||||
) {
|
||||
meta_verbose ("Not managing our own windows\n");
|
||||
|
|
|
@ -29,9 +29,7 @@
|
|||
#include "errors.h"
|
||||
#include "prefs.h"
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
#include "compositor.h"
|
||||
#endif
|
||||
|
||||
#include <X11/Xatom.h>
|
||||
#include <string.h>
|
||||
|
@ -531,7 +529,6 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
|
|||
meta_workspace_focus_default_window (workspace, NULL, timestamp);
|
||||
}
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
{
|
||||
/*
|
||||
* 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);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -926,18 +922,14 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
|
|||
/* We're all done, YAAY! Record that everything has been validated. */
|
||||
workspace->work_areas_invalid = FALSE;
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
{
|
||||
/*
|
||||
* Notify the compositor that the workspace geometry has changed.
|
||||
*/
|
||||
MetaScreen *screen = workspace->screen;
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
MetaCompositor *comp = meta_display_get_compositor (display);
|
||||
/*
|
||||
* Notify the compositor that the workspace geometry has changed.
|
||||
*/
|
||||
MetaScreen *screen = workspace->screen;
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
MetaCompositor *comp = meta_display_get_compositor (display);
|
||||
|
||||
meta_compositor_update_workspace_geometry (comp, workspace);
|
||||
}
|
||||
#endif
|
||||
meta_compositor_update_workspace_geometry (comp, workspace);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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;
|
||||
|
||||
#ifdef WITH_CLUTTER
|
||||
extern int meta_compositor_can_use_clutter__;
|
||||
#endif
|
||||
MetaCompositor *meta_compositor_new (MetaDisplay *display);
|
||||
void meta_compositor_destroy (MetaCompositor *compositor);
|
||||
|
||||
|
|
|
@ -60,10 +60,7 @@ typedef enum
|
|||
META_PREF_CURSOR_SIZE,
|
||||
META_PREF_COMPOSITING_MANAGER,
|
||||
META_PREF_RESIZE_WITH_RIGHT_BUTTON,
|
||||
#ifdef WITH_CLUTTER
|
||||
META_PREF_CLUTTER_DISABLED,
|
||||
META_PREF_CLUTTER_PLUGINS,
|
||||
#endif
|
||||
META_PREF_LIVE_HIDDEN_WINDOWS,
|
||||
META_PREF_NO_TAB_POPUP,
|
||||
} MetaPreference;
|
||||
|
@ -128,11 +125,6 @@ gboolean meta_prefs_get_compositing_manager (void);
|
|||
*/
|
||||
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);
|
||||
|
||||
/**
|
||||
|
@ -150,8 +142,6 @@ void meta_prefs_set_clutter_plugins (GSList *list);
|
|||
*/
|
||||
void meta_prefs_override_clutter_plugins (GSList *list);
|
||||
|
||||
#endif
|
||||
|
||||
gboolean meta_prefs_get_live_hidden_windows (void);
|
||||
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);
|
||||
|
||||
#ifdef HAVE_COMPOSITE_EXTENSIONS
|
||||
void meta_screen_set_cm_selection (MetaScreen *screen);
|
||||
void meta_screen_unset_cm_selection (MetaScreen *screen);
|
||||
#endif
|
||||
|
||||
GList *meta_screen_get_workspaces (MetaScreen *screen);
|
||||
|
||||
|
|
Loading…
Reference in a new issue