### Class

# Meta Backend

#### Description [src]

    abstract class Meta.Backend : GObject.Object
      implements Gio.Initable {
      /* No available fields */
    }

Handles monitor config, modesetting, cursor sprites, …

MetaBackend is the abstraction that deals with several things like:

- Modesetting (depending on the backend, this can be done either by X or KMS)
- Initializing the `MetaSettings`
- Setting up Monitor configuration
- Input device configuration (using the `ClutterDeviceManager`)
- Creating the `MetaRenderer`
- Setting up the stage of the scene graph (using `MetaStage`)
- Creating the object that deals with the cursor (using `MetaCursorTracker`) and its possible pointer constraint (using `MetaPointerConstraint`)
- Setting the cursor sprite (using `MetaCursorRenderer`)
- Interacting with logind (using the appropriate D-Bus interface)
- Querying UPower (over D-Bus) to know when the lid is closed
- Setup Remote Desktop / Screencasting (`MetaRemoteDesktop`)
- Setup the `MetaEgl` object

Note that the `MetaBackend` is not a subclass of `ClutterBackend`. It is responsible for creating the correct one, based on the backend that is used (`MetaBackendNative` or `MetaBackendX11`).

#### Ancestors

- GObject

#### Implements

- GInitable

#### Instance methods

###### meta_backend_freeze_keyboard

No description available.

###### meta_backend_get_capabilities

No description available.

###### meta_backend_get_context

No description available.

###### meta_backend_get_core_idle_monitor

No description available.

###### meta_backend_get_cursor_tracker

No description available.

###### meta_backend_get_dnd

Gets the global `MetaDnd` that’s managed by this backend.

###### meta_backend_get_monitor_manager

No description available.

###### meta_backend_get_orientation_manager

No description available.

###### meta_backend_get_remote_access_controller

No description available.

###### meta_backend_get_settings

No description available.

###### meta_backend_get_stage

Gets the global `ClutterStage` that’s managed by this backend.

###### meta_backend_is_headless

No description available.

###### meta_backend_is_rendering_hardware_accelerated

No description available.

###### meta_backend_lock_layout_group

No description available.

###### meta_backend_renderdoc_capture

No description available.

###### meta_backend_set_keymap

No description available.

###### meta_backend_unfreeze_keyboard

No description available.

###### meta_backend_ungrab_keyboard

No description available.

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

Please see GObject for a full list of methods.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

#### Properties

###### Meta.Backend:capabilities

No description available.

###### Meta.Backend:context

No description available.

#### Signals

###### Meta.Backend::gpu-added

No description available.

###### Meta.Backend::keymap-changed

No description available.

###### Meta.Backend::keymap-layout-group-changed

No description available.

###### Meta.Backend::last-device-changed

No description available.

###### Meta.Backend::lid-is-closed-changed

No description available.

###### Meta.Backend::pause

No description available.

###### Meta.Backend::prepare-shutdown

No description available.

###### Meta.Backend::resume

No description available.

##### 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 MetaBackendClass {
      /* no available fields */
    }

No description available.