### Class

# Meta Compositor

#### 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.

# Containers

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.

#### Ancestors

- GObject

#### Instance methods

###### meta_compositor_get_feedback_group

No description available.

###### meta_compositor_get_laters

No description available.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Meta.Compositor:backend

No description available.

###### Meta.Compositor:display

No description available.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

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.