Description [src]

abstract class Meta.Compositor : GObject.Object
  /* No available fields */

Compositor API

At a high-level, a window is not-visible or visible. When a window is added (with meta_compositor_add_window()) it is not visible. meta_compositor_show_window() indicates a transition from not-visible to visible. Some of the reasons for this:

  • Window newly created
  • Window is unminimized
  • Window is moved to the current desktop
  • Window was made sticky

meta_compositor_hide_window() indicates that the window has transitioned from visible to not-visible. Some reasons include:

  • Window was destroyed
  • Window is minimized
  • Window is moved to a different desktop
  • Window no longer sticky.

Note that combinations are possible - a window might have first been minimized and then moved to a different desktop. The ‘effect’ parameter to meta_compositor_show_window() and meta_compositor_hide_window() is a hint as to the appropriate effect to show the user and should not be considered to be indicative of a state change.

When the active workspace is changed, meta_compositor_switch_workspace() is called first, then meta_compositor_show_window() and meta_compositor_hide_window() are called individually for each window affected, with an effect of META_COMP_EFFECT_NONE. If hiding windows will affect the switch workspace animation, the compositor needs to delay hiding the windows until the switch workspace animation completes.


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()

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 top window group.


hierarchy this MetaCompositor ancestor_0 GObject ancestor_0--this


Instance methods

No description available.

No description available.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.


No description available.

No description available.


Signals inherited from GObject (1)

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct MetaCompositorClass {
  /* no available fields */

No description available.