### Class

# Meta Plugin

#### Description

    abstract class Meta.Plugin : GObject.Object {
      parent_instance: GObject
    }

No description available.

#### Ancestors

- GObject

#### Functions

###### meta_plugin_manager_set_plugin_type

No description available.

#### Instance methods

###### meta_plugin_complete_display_change

No description available.

###### meta_plugin_destroy_completed

No description available.

###### meta_plugin_get_display

Gets the `MetaDisplay` corresponding to a plugin.

###### meta_plugin_get_info

No description available.

###### meta_plugin_map_completed

No description available.

###### meta_plugin_minimize_completed

No description available.

###### meta_plugin_size_change_completed

No description available.

###### meta_plugin_switch_workspace_completed

No description available.

###### meta_plugin_unminimize_completed

No description available.

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

Please see GObject for a full list of methods.

#### 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 MetaPluginClass {
      void (* start) (
        MetaPlugin* plugin
      );
      void (* minimize) (
        MetaPlugin* plugin,
        MetaWindowActor* actor
      );
      void (* unminimize) (
        MetaPlugin* plugin,
        MetaWindowActor* actor
      );
      void (* size_changed) (
        MetaPlugin* plugin,
        MetaWindowActor* actor
      );
      void (* size_change) (
        MetaPlugin* plugin,
        MetaWindowActor* actor,
        MetaSizeChange which_change,
        MetaRectangle* old_frame_rect,
        MetaRectangle* old_buffer_rect
      );
      void (* map) (
        MetaPlugin* plugin,
        MetaWindowActor* actor
      );
      void (* destroy) (
        MetaPlugin* plugin,
        MetaWindowActor* actor
      );
      void (* switch_workspace) (
        MetaPlugin* plugin,
        gint from,
        gint to,
        MetaMotionDirection direction
      );
      void (* show_tile_preview) (
        MetaPlugin* plugin,
        MetaWindow* window,
        MetaRectangle* tile_rect,
        int tile_monitor_number
      );
      void (* hide_tile_preview) (
        MetaPlugin* plugin
      );
      void (* show_window_menu) (
        MetaPlugin* plugin,
        MetaWindow* window,
        MetaWindowMenuType menu,
        int x,
        int y
      );
      void (* show_window_menu_for_rect) (
        MetaPlugin* plugin,
        MetaWindow* window,
        MetaWindowMenuType menu,
        MetaRectangle* rect
      );
      void (* kill_window_effects) (
        MetaPlugin* plugin,
        MetaWindowActor* actor
      );
      void (* kill_switch_workspace) (
        MetaPlugin* plugin
      );
      gboolean (* xevent_filter) (
        MetaPlugin* plugin,
        XEvent* event
      );
      gboolean (* keybinding_filter) (
        MetaPlugin* plugin,
        MetaKeyBinding* binding
      );
      void (* confirm_display_change) (
        MetaPlugin* plugin
      );
      const MetaPluginInfo* (* plugin_info) (
        MetaPlugin* plugin
      );
      MetaCloseDialog* (* create_close_dialog) (
        MetaPlugin* plugin,
        MetaWindow* window
      );
      MetaInhibitShortcutsDialog* (* create_inhibit_shortcuts_dialog) (
        MetaPlugin* plugin,
        MetaWindow* window
      );
      void (* locate_pointer) (
        MetaPlugin* plugin
      );

    }

No description available.

###### Class members

`start: void (* start) ( MetaPlugin* plugin )`
  No description available.
`minimize: void (* minimize) ( MetaPlugin* plugin, MetaWindowActor* actor )`
  No description available.
`unminimize: void (* unminimize) ( MetaPlugin* plugin, MetaWindowActor* actor )`
  No description available.
`size_changed: void (* size_changed) ( MetaPlugin* plugin, MetaWindowActor* actor )`
  No description available.
`size_change: void (* size_change) ( MetaPlugin* plugin, MetaWindowActor* actor, MetaSizeChange which_change, MetaRectangle* old_frame_rect, MetaRectangle* old_buffer_rect )`
  No description available.
`map: void (* map) ( MetaPlugin* plugin, MetaWindowActor* actor )`
  No description available.
`destroy: void (* destroy) ( MetaPlugin* plugin, MetaWindowActor* actor )`
  No description available.
`switch_workspace: void (* switch_workspace) ( MetaPlugin* plugin, gint from, gint to, MetaMotionDirection direction )`
  No description available.
`show_tile_preview: void (* show_tile_preview) ( MetaPlugin* plugin, MetaWindow* window, MetaRectangle* tile_rect, int tile_monitor_number )`
  No description available.
`hide_tile_preview: void (* hide_tile_preview) ( MetaPlugin* plugin )`
  No description available.
`show_window_menu: void (* show_window_menu) ( MetaPlugin* plugin, MetaWindow* window, MetaWindowMenuType menu, int x, int y )`
  No description available.
`show_window_menu_for_rect: void (* show_window_menu_for_rect) ( MetaPlugin* plugin, MetaWindow* window, MetaWindowMenuType menu, MetaRectangle* rect )`
  No description available.
`kill_window_effects: void (* kill_window_effects) ( MetaPlugin* plugin, MetaWindowActor* actor )`
  No description available.
`kill_switch_workspace: void (* kill_switch_workspace) ( MetaPlugin* plugin )`
  No description available.
`xevent_filter: gboolean (* xevent_filter) ( MetaPlugin* plugin, XEvent* event )`
  No description available.
`keybinding_filter: gboolean (* keybinding_filter) ( MetaPlugin* plugin, MetaKeyBinding* binding )`
  No description available.
`confirm_display_change: void (* confirm_display_change) ( MetaPlugin* plugin )`
  No description available.
`plugin_info: const MetaPluginInfo* (* plugin_info) ( MetaPlugin* plugin )`
  No description available.
`create_close_dialog: MetaCloseDialog* (* create_close_dialog) ( MetaPlugin* plugin, MetaWindow* window )`
  No description available.
`create_inhibit_shortcuts_dialog: MetaInhibitShortcutsDialog* (* create_inhibit_shortcuts_dialog) ( MetaPlugin* plugin, MetaWindow* window )`
  No description available.
`locate_pointer: void (* locate_pointer) ( MetaPlugin* plugin )`
  No description available.

#### Virtual methods

###### Meta.PluginClass.confirm_display_change

No description available.

###### Meta.PluginClass.create_close_dialog

Virtual function called to create a “force quit” dialog on non-responsive clients.

###### Meta.PluginClass.create_inhibit_shortcuts_dialog

Virtual function called to create a “inhibit shortcuts” dialog when a client requests compositor shortcuts to be inhibited.

###### Meta.PluginClass.destroy

Virtual function called when the window represented by `actor` is destroyed.

###### Meta.PluginClass.hide_tile_preview

No description available.

###### Meta.PluginClass.keybinding_filter

Virtual function called when handling each keybinding.

###### Meta.PluginClass.kill_switch_workspace

Virtual function called when the workspace-switching effect needs to be killed prematurely.

###### Meta.PluginClass.kill_window_effects

Virtual function called when the effects on `actor` need to be killed prematurely; the plugin must call the `completed()` callback as if the effect terminated naturally.

###### Meta.PluginClass.locate_pointer

Virtual function called when the user triggered the “locate-pointer” mechanism. The common way to implement this function is to show some animation on screen to draw user attention on the pointer location.

###### Meta.PluginClass.map

Virtual function called when the window represented by `actor` is mapped.

###### Meta.PluginClass.minimize

Virtual function called when the window represented by `actor` is minimized.

###### Meta.PluginClass.plugin_info

Virtual function that returns information about the `MetaPlugin`.

###### Meta.PluginClass.show_tile_preview

No description available.

###### Meta.PluginClass.show_window_menu

No description available.

###### Meta.PluginClass.show_window_menu_for_rect

No description available.

###### Meta.PluginClass.size_change

No description available.

###### Meta.PluginClass.size_changed

No description available.

###### Meta.PluginClass.start

Virtual function called when the compositor starts managing a screen.

###### Meta.PluginClass.switch_workspace

Virtual function called when the window represented by `actor` is destroyed.

###### Meta.PluginClass.unminimize

Virtual function called when the window represented by `actor` is unminimized.

###### Meta.PluginClass.xevent_filter

Virtual function called when handling each event.