diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 799a3db88..72dd0b35c 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -42,8 +42,8 @@
* There's two containers in the stage that are used to place window actors, here
* are listed in the order in which they are painted:
*
- * - window group, accessible with meta_get_window_group_for_display()
- * - top window group, accessible with meta_get_top_window_group_for_display()
+ * - window group, accessible with [method@Meta.Compositor.get_window_group]
+ * - top window group, accessible with [method@Meta.Compositor.get_top_window_group]
*
* Mutter will place actors representing windows in the window group, except for
* override-redirect windows (ie. popups and menus) which will be placed in the
@@ -62,7 +62,6 @@
#include "compositor/meta-window-group-private.h"
#include "core/util-private.h"
#include "core/window-private.h"
-#include "meta/compositor-mutter.h"
#include "meta/main.h"
#include "meta/meta-backend.h"
#include "meta/meta-background-actor.h"
@@ -201,49 +200,35 @@ meta_compositor_destroy (MetaCompositor *compositor)
g_object_unref (compositor);
}
-/* compat helper */
-static MetaCompositor *
-get_compositor_for_display (MetaDisplay *display)
-{
- return display->compositor;
-}
-
/**
- * meta_get_window_group_for_display:
- * @display: a #MetaDisplay
+ * meta_compositor_get_window_group:
+ * @compositor: a #MetaCompositor
*
- * Returns: (transfer none): The window group corresponding to @display
+ * Returns: (transfer none): The window group corresponding to @compositor
*/
ClutterActor *
-meta_get_window_group_for_display (MetaDisplay *display)
+meta_compositor_get_window_group (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
MetaCompositorPrivate *priv;
- g_return_val_if_fail (display, NULL);
-
- compositor = get_compositor_for_display (display);
g_return_val_if_fail (compositor, NULL);
+
priv = meta_compositor_get_instance_private (compositor);
return priv->window_group;
}
/**
- * meta_get_top_window_group_for_display:
- * @display: a #MetaDisplay
+ * meta_compositor_get_top_window_group:
+ * @compositor: a #MetaCompositor
*
- * Returns: (transfer none): The top window group corresponding to @display
+ * Returns: (transfer none): The top window group corresponding to @compositor
*/
ClutterActor *
-meta_get_top_window_group_for_display (MetaDisplay *display)
+meta_compositor_get_top_window_group (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
MetaCompositorPrivate *priv;
- g_return_val_if_fail (display, NULL);
-
- compositor = get_compositor_for_display (display);
g_return_val_if_fail (compositor, NULL);
priv = meta_compositor_get_instance_private (compositor);
@@ -268,20 +253,16 @@ meta_compositor_get_feedback_group (MetaCompositor *compositor)
}
/**
- * meta_get_window_actors:
- * @display: a #MetaDisplay
+ * meta_compositor_get_window_actors:
+ * @compositor: a #MetaCompositor
*
- * Returns: (transfer none) (element-type Clutter.Actor): The set of #MetaWindowActor on @display
+ * Returns: (transfer none) (element-type Clutter.Actor): The set of #MetaWindowActor on @compositor
*/
GList *
-meta_get_window_actors (MetaDisplay *display)
+meta_compositor_get_window_actors (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
MetaCompositorPrivate *priv;
- g_return_val_if_fail (display, NULL);
-
- compositor = get_compositor_for_display (display);
g_return_val_if_fail (compositor, NULL);
priv = meta_compositor_get_instance_private (compositor);
@@ -1237,47 +1218,41 @@ meta_compositor_class_init (MetaCompositorClass *klass)
}
/**
- * meta_disable_unredirect_for_display:
- * @display: a #MetaDisplay
+ * meta_compositor_disable_unredirect:
+ * @compositor: a #MetaCompositor
*
* Disables unredirection, can be useful in situations where having
* unredirected windows is undesirable like when recording a video.
*
*/
void
-meta_disable_unredirect_for_display (MetaDisplay *display)
+meta_compositor_disable_unredirect (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
MetaCompositorPrivate *priv;
- if (display->closing)
- return;
-
- compositor = get_compositor_for_display (display);
priv = meta_compositor_get_instance_private (compositor);
+ if (priv->display->closing)
+ return;
priv->disable_unredirect_count++;
}
/**
- * meta_enable_unredirect_for_display:
- * @display: a #MetaDisplay
+ * meta_compositor_enable_unredirect:
+ * @compositor: a #MetaCompositor
*
* Enables unredirection which reduces the overhead for apps like games.
*
*/
void
-meta_enable_unredirect_for_display (MetaDisplay *display)
+meta_compositor_enable_unredirect (MetaCompositor *compositor)
{
- MetaCompositor *compositor;
- MetaCompositorPrivate *priv;
+ MetaCompositorPrivate *priv =
+ meta_compositor_get_instance_private (compositor);
- if (display->closing)
+ if (priv->display->closing)
return;
- compositor = get_compositor_for_display (display);
- priv = meta_compositor_get_instance_private (compositor);
-
if (priv->disable_unredirect_count == 0)
g_warning ("Called enable_unredirect_for_display while unredirection is enabled.");
if (priv->disable_unredirect_count > 0)
diff --git a/src/compositor/meta-feedback-actor.c b/src/compositor/meta-feedback-actor.c
index 19658f73e..f395fd29f 100644
--- a/src/compositor/meta-feedback-actor.c
+++ b/src/compositor/meta-feedback-actor.c
@@ -63,12 +63,11 @@ meta_feedback_actor_constructed (GObject *object)
MetaFeedbackActor *self = META_FEEDBACK_ACTOR (object);
MetaFeedbackActorPrivate *priv =
meta_feedback_actor_get_instance_private (self);
- MetaDisplay *display = meta_compositor_get_display (priv->compositor);
ClutterActor *feedback_group;
feedback_group = meta_compositor_get_feedback_group (priv->compositor);
clutter_actor_add_child (feedback_group, CLUTTER_ACTOR (object));
- meta_disable_unredirect_for_display (display);
+ meta_compositor_disable_unredirect (priv->compositor);
}
static void
@@ -77,9 +76,8 @@ meta_feedback_actor_finalize (GObject *object)
MetaFeedbackActor *self = META_FEEDBACK_ACTOR (object);
MetaFeedbackActorPrivate *priv =
meta_feedback_actor_get_instance_private (self);
- MetaDisplay *display = meta_compositor_get_display (priv->compositor);
- meta_enable_unredirect_for_display (display);
+ meta_compositor_enable_unredirect (priv->compositor);
G_OBJECT_CLASS (meta_feedback_actor_parent_class)->finalize (object);
}
diff --git a/src/compositor/meta-window-actor-private.h b/src/compositor/meta-window-actor-private.h
index 0d545f8ac..73fc20d93 100644
--- a/src/compositor/meta-window-actor-private.h
+++ b/src/compositor/meta-window-actor-private.h
@@ -4,7 +4,6 @@
#include "compositor/meta-plugin-manager.h"
#include "compositor/meta-surface-actor.h"
-#include "meta/compositor-mutter.h"
struct _MetaWindowActorClass
{
diff --git a/src/compositor/plugins/default.c b/src/compositor/plugins/default.c
index 6a11c306b..ca93939cb 100644
--- a/src/compositor/plugins/default.c
+++ b/src/compositor/plugins/default.c
@@ -264,7 +264,8 @@ on_switch_workspace_effect_stopped (ClutterTimeline *timeline,
MetaPlugin *plugin = META_PLUGIN (data);
MetaDefaultPluginPrivate *priv = META_DEFAULT_PLUGIN (plugin)->priv;
MetaDisplay *display = meta_plugin_get_display (plugin);
- GList *l = meta_get_window_actors (display);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
+ GList *l = meta_compositor_get_window_actors (compositor);
while (l)
{
@@ -434,11 +435,12 @@ start (MetaPlugin *plugin)
MetaDisplay *display = meta_plugin_get_display (plugin);
MetaContext *context = meta_display_get_context (display);
MetaBackend *backend = meta_context_get_backend (context);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
self->priv->background_group = meta_background_group_new ();
- clutter_actor_insert_child_below (meta_get_window_group_for_display (display),
+ clutter_actor_insert_child_below (meta_compositor_get_window_group (compositor),
self->priv->background_group, NULL);
g_signal_connect (monitor_manager, "monitors-changed",
@@ -501,7 +503,9 @@ switch_workspace (MetaPlugin *plugin,
clutter_actor_add_child (stage, workspace1);
clutter_actor_add_child (stage, workspace2);
- for (l = g_list_last (meta_get_window_actors (display)); l; l = l->prev)
+ for (l = g_list_last (meta_compositor_get_window_actors (compositor));
+ l;
+ l = l->prev)
{
MetaWindowActor *window_actor = l->data;
ActorPrivate *apriv = get_actor_private (window_actor);
@@ -803,6 +807,7 @@ static DisplayTilePreview *
get_display_tile_preview (MetaDisplay *display)
{
DisplayTilePreview *preview;
+ MetaCompositor *compositor;
if (!display_tile_preview_data_quark)
{
@@ -820,7 +825,8 @@ get_display_tile_preview (MetaDisplay *display)
clutter_actor_set_background_color (preview->actor, &COGL_COLOR_INIT (0, 0, 255, 255));
clutter_actor_set_opacity (preview->actor, 100);
- clutter_actor_add_child (meta_get_window_group_for_display (display), preview->actor);
+ compositor = meta_display_get_compositor (display);
+ clutter_actor_add_child (meta_compositor_get_window_group (compositor), preview->actor);
g_signal_connect (display,
"closing",
G_CALLBACK (on_display_closing),
diff --git a/src/core/display.c b/src/core/display.c
index 2c02dc824..58dfbc388 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -53,7 +53,6 @@
#include "core/util-private.h"
#include "core/window-private.h"
#include "core/workspace-private.h"
-#include "meta/compositor-mutter.h"
#include "meta/compositor.h"
#include "meta/main.h"
#include "meta/meta-backend.h"
diff --git a/src/core/window.c b/src/core/window.c
index c3163f074..776e93a06 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -78,7 +78,6 @@
#include "core/stack.h"
#include "core/util-private.h"
#include "core/workspace-private.h"
-#include "meta/compositor-mutter.h"
#include "meta/meta-cursor-tracker.h"
#include "meta/meta-enum-types.h"
#include "meta/prefs.h"
diff --git a/src/meta/compositor-mutter.h b/src/meta/compositor-mutter.h
deleted file mode 100644
index a19155e16..000000000
--- a/src/meta/compositor-mutter.h
+++ /dev/null
@@ -1,45 +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, see .
- */
-
-#pragma once
-
-#include "clutter/clutter.h"
-#include "meta/compositor.h"
-#include "meta/meta-window-actor.h"
-#include "meta/types.h"
-
-/* Public compositor API */
-
-META_EXPORT
-GList *meta_get_window_actors (MetaDisplay *display);
-
-META_EXPORT
-ClutterActor *meta_get_window_group_for_display (MetaDisplay *display);
-
-META_EXPORT
-ClutterActor *meta_get_top_window_group_for_display (MetaDisplay *display);
-
-META_EXPORT
-void meta_disable_unredirect_for_display (MetaDisplay *display);
-
-META_EXPORT
-void meta_enable_unredirect_for_display (MetaDisplay *display);
diff --git a/src/meta/compositor.h b/src/meta/compositor.h
index e97bf46cd..745700a03 100644
--- a/src/meta/compositor.h
+++ b/src/meta/compositor.h
@@ -77,3 +77,18 @@ MetaBackend * meta_compositor_get_backend (MetaCompositor *compositor);
META_EXPORT
ClutterStage * meta_compositor_get_stage (MetaCompositor *compositor);
+
+META_EXPORT
+ClutterActor * meta_compositor_get_window_group (MetaCompositor *compositor);
+
+META_EXPORT
+GList * meta_compositor_get_window_actors (MetaCompositor *compositor);
+
+META_EXPORT
+ClutterActor * meta_compositor_get_top_window_group (MetaCompositor *compositor);
+
+META_EXPORT
+void meta_compositor_disable_unredirect (MetaCompositor *compositor);
+
+META_EXPORT
+void meta_compositor_enable_unredirect (MetaCompositor *compositor);
diff --git a/src/meta/meson.build b/src/meta/meson.build
index bc9b82c8e..9bc208ae5 100644
--- a/src/meta/meson.build
+++ b/src/meta/meson.build
@@ -3,7 +3,6 @@ mutter_public_headers = [
'boxes.h',
'common.h',
'compositor.h',
- 'compositor-mutter.h',
'display.h',
'keybindings.h',
'main.h',
diff --git a/src/meta/meta-plugin.h b/src/meta/meta-plugin.h
index 6c24df7eb..bd880decb 100644
--- a/src/meta/meta-plugin.h
+++ b/src/meta/meta-plugin.h
@@ -24,10 +24,10 @@
#include
#include "clutter/clutter.h"
-#include "meta/compositor-mutter.h"
#include "meta/compositor.h"
#include "meta/meta-close-dialog.h"
#include "meta/meta-inhibit-shortcuts-dialog.h"
+#include "meta/meta-window-actor.h"
#include "meta/types.h"
#define META_TYPE_PLUGIN (meta_plugin_get_type ())
diff --git a/src/tests/meta-ref-test.c b/src/tests/meta-ref-test.c
index 941e43cef..28fac56e8 100644
--- a/src/tests/meta-ref-test.c
+++ b/src/tests/meta-ref-test.c
@@ -52,7 +52,7 @@
#include "backends/meta-gpu.h"
#include "backends/meta-stage-private.h"
#include "clutter/clutter/clutter-stage-view-private.h"
-#include "meta/compositor-mutter.h"
+#include "meta/compositor.h"
#include "tests/meta-ref-test-utils.h"
static void
@@ -154,9 +154,10 @@ capture_view (ClutterStageView *stage_view)
MetaStage *stage = META_STAGE (meta_backend_get_stage (backend));
MetaContext *context = meta_backend_get_context (backend);
MetaDisplay *display = meta_context_get_display (context);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
CaptureViewData data = { 0 };
- meta_disable_unredirect_for_display (display);
+ meta_compositor_disable_unredirect (compositor);
data.loop = g_main_loop_new (NULL, FALSE);
data.watch = meta_stage_watch_view (stage, stage_view,
@@ -172,7 +173,7 @@ capture_view (ClutterStageView *stage_view)
g_assert_null (data.watch);
g_assert_nonnull (data.out_image);
- meta_enable_unredirect_for_display (display);
+ meta_compositor_enable_unredirect (compositor);
return data.out_image;
}
diff --git a/src/tests/meta-test-shell.c b/src/tests/meta-test-shell.c
index 94eba0051..b06cf1f26 100644
--- a/src/tests/meta-test-shell.c
+++ b/src/tests/meta-test-shell.c
@@ -212,7 +212,8 @@ on_switch_workspace_effect_stopped (ClutterTimeline *timeline,
MetaPlugin *plugin = META_PLUGIN (data);
MetaTestShell *test_shell = META_TEST_SHELL (plugin);
MetaDisplay *display = meta_plugin_get_display (plugin);
- GList *l = meta_get_window_actors (display);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
+ GList *l = meta_compositor_get_window_actors (compositor);
while (l)
{
@@ -347,13 +348,14 @@ meta_test_shell_start (MetaPlugin *plugin)
{
MetaTestShell *test_shell = META_TEST_SHELL (plugin);
MetaDisplay *display = meta_plugin_get_display (plugin);
+ MetaCompositor *compositor = meta_display_get_compositor (display);
MetaContext *context = meta_display_get_context (display);
MetaBackend *backend = meta_context_get_backend (context);
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
test_shell->background_group = meta_background_group_new ();
- clutter_actor_insert_child_below (meta_get_window_group_for_display (display),
+ clutter_actor_insert_child_below (meta_compositor_get_window_group (compositor),
test_shell->background_group, NULL);
g_signal_connect (monitor_manager, "monitors-changed",
@@ -415,7 +417,9 @@ meta_test_shell_switch_workspace (MetaPlugin *plugin,
clutter_actor_add_child (stage, workspace1);
clutter_actor_add_child (stage, workspace2);
- for (l = g_list_last (meta_get_window_actors (display)); l; l = l->prev)
+ for (l = g_list_last (meta_compositor_get_window_actors (compositor));
+ l;
+ l = l->prev)
{
MetaWindowActor *window_actor = l->data;
ActorPrivate *actor_priv = get_actor_private (window_actor);
@@ -713,6 +717,7 @@ static DisplayTilePreview *
get_display_tile_preview (MetaDisplay *display)
{
DisplayTilePreview *preview;
+ MetaCompositor *compositor;
if (!display_tile_preview_data_quark)
{
@@ -730,7 +735,8 @@ get_display_tile_preview (MetaDisplay *display)
clutter_actor_set_background_color (preview->actor, &COGL_COLOR_INIT (0, 0, 255, 255));
clutter_actor_set_opacity (preview->actor, 100);
- clutter_actor_add_child (meta_get_window_group_for_display (display),
+ compositor = meta_display_get_compositor (display);
+ clutter_actor_add_child (meta_compositor_get_window_group (compositor),
preview->actor);
g_signal_connect (display,
"closing",