Top | ![]() |
![]() |
![]() |
![]() |
gboolean | meta_plugin_running () |
gboolean | meta_plugin_debug_mode () |
const MetaPluginInfo * | meta_plugin_get_info () |
#define | META_PLUGIN_DECLARE() |
void | meta_plugin_switch_workspace_completed () |
void | meta_plugin_minimize_completed () |
void | meta_plugin_maximize_completed () |
void | meta_plugin_unmaximize_completed () |
void | meta_plugin_tile_completed () |
void | meta_plugin_map_completed () |
void | meta_plugin_destroy_completed () |
gboolean | meta_plugin_begin_modal () |
void | meta_plugin_end_modal () |
MetaScreen * | meta_plugin_get_screen () |
void | meta_plugin_manager_set_plugin_type () |
struct | MetaPlugin |
struct | MetaPluginClass |
struct | MetaPluginInfo |
struct | MetaPluginVersion |
enum | MetaModalOptions |
void
meta_plugin_switch_workspace_completed
(MetaPlugin *plugin
);
void meta_plugin_minimize_completed (MetaPlugin *plugin
,MetaWindowActor *actor
);
void meta_plugin_maximize_completed (MetaPlugin *plugin
,MetaWindowActor *actor
);
void meta_plugin_unmaximize_completed (MetaPlugin *plugin
,MetaWindowActor *actor
);
void meta_plugin_tile_completed (MetaPlugin *plugin
,MetaWindowActor *actor
);
void meta_plugin_map_completed (MetaPlugin *plugin
,MetaWindowActor *actor
);
void meta_plugin_destroy_completed (MetaPlugin *plugin
,MetaWindowActor *actor
);
gboolean meta_plugin_begin_modal (MetaPlugin *plugin
,Window grab_window
,Cursor cursor
,MetaModalOptions options
,guint32 timestamp
);
This function is used to grab the keyboard and mouse for the exclusive
use of the plugin. Correct operation requires that both the keyboard
and mouse are grabbed, or thing will break. (In particular, other
passive X grabs in Meta can trigger but not be handled by the normal
keybinding handling code.) However, the plugin can establish the keyboard
and/or mouse grabs ahead of time and pass in the
META_MODAL_POINTER_ALREADY_GRABBED
and/or META_MODAL_KEYBOARD_ALREADY_GRABBED
options. This facility is provided for two reasons: first to allow using
this function to establish modality after a passive grab, and second to
allow using obscure features of XGrabPointer()
and XGrabKeyboard()
without
having to add them to this API.
plugin |
||
grab_window |
the X window to grab the keyboard and mouse on |
|
cursor |
the cursor to use for the pointer grab, or None, to use the normal cursor for the grab window and its descendants. |
|
options |
flags that modify the behavior of the modal grab |
|
timestamp |
the timestamp used for establishing grabs |
void meta_plugin_end_modal (MetaPlugin *plugin
,guint32 timestamp
);
Ends the modal operation begun with meta_plugin_begin_modal()
. This
ungrabs both the mouse and keyboard even when
META_MODAL_POINTER_ALREADY_GRABBED
or
META_MODAL_KEYBOARD_ALREADY_GRABBED
were provided as options
when beginnning the modal operation.
MetaScreen *
meta_plugin_get_screen (MetaPlugin *plugin
);
Gets the MetaScreen corresponding to a plugin. Each plugin instance is associated with exactly one screen; if Metacity is managing multiple screens, multiple plugin instances will be created.
struct MetaPluginClass { GObjectClass parent_class; void (*start) (MetaPlugin *plugin); void (*minimize) (MetaPlugin *plugin, MetaWindowActor *actor); void (*maximize) (MetaPlugin *plugin, MetaWindowActor *actor, gint x, gint y, gint width, gint height); void (*unmaximize) (MetaPlugin *plugin, MetaWindowActor *actor, gint x, gint y, gint width, gint height); void (*tile) (MetaPlugin *plugin, MetaWindowActor *actor, gint x, gint y, gint width, gint height); 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, guint snap_queued); void (*hide_tile_preview) (MetaPlugin *plugin); void (*show_hud_preview) (MetaPlugin *plugin, guint current_proximity_zone, MetaRectangle *work_area, guint snap_queued); void (*hide_hud_preview) (MetaPlugin *plugin); /* * Called if an effects should be killed prematurely; the plugin must * call the completed() callback as if the effect terminated naturally. */ void (*kill_window_effects) (MetaPlugin *plugin, MetaWindowActor *actor); /* General XEvent filter. This is fired *before* meta itself handles * an event. Return TRUE to block any further processing. */ gboolean (*xevent_filter) (MetaPlugin *plugin, XEvent *event); const MetaPluginInfo * (*plugin_info) (MetaPlugin *plugin); };
struct MetaPluginInfo { const gchar *name; const gchar *version; const gchar *author; const gchar *license; const gchar *description; };
struct MetaPluginVersion { /* * Version information; the first three numbers match the Meta version * with which the plugin was compiled (see clutter-plugins/simple.c for sample * code). */ guint version_major; guint version_minor; guint version_micro; /* * Version of the plugin API; this is unrelated to the matacity version * per se. The API version is checked by the plugin manager and must match * the one used by it (see clutter-plugins/default.c for sample code). */ guint version_api; };