2008-09-18 11:09:11 -04:00
|
|
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright (c) 2008 Intel Corp.
|
|
|
|
*
|
|
|
|
* Author: Tomas Frydrych <tf@linux.intel.com>
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License as
|
|
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
|
|
* License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful, but
|
|
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
2014-01-11 20:42:06 -05:00
|
|
|
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
2008-09-18 11:09:11 -04:00
|
|
|
*/
|
|
|
|
|
2010-10-18 13:27:14 -04:00
|
|
|
#ifndef META_PLUGIN_H_
|
|
|
|
#define META_PLUGIN_H_
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2008-10-29 09:03:03 -04:00
|
|
|
#include <X11/extensions/Xfixes.h>
|
2008-11-20 06:51:56 -05:00
|
|
|
#include <gmodule.h>
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2018-07-10 04:36:24 -04:00
|
|
|
#include "clutter/clutter.h"
|
|
|
|
#include "meta/compositor-mutter.h"
|
|
|
|
#include "meta/compositor.h"
|
|
|
|
#include "meta/meta-close-dialog.h"
|
|
|
|
#include "meta/meta-inhibit-shortcuts-dialog.h"
|
|
|
|
#include "meta/meta-version.h"
|
|
|
|
#include "meta/types.h"
|
|
|
|
|
2018-10-30 06:19:36 -04:00
|
|
|
#define META_TYPE_PLUGIN (meta_plugin_get_type ())
|
2019-01-22 21:25:35 -05:00
|
|
|
|
|
|
|
META_EXPORT
|
2018-10-30 06:19:36 -04:00
|
|
|
G_DECLARE_DERIVABLE_TYPE (MetaPlugin, meta_plugin, META, PLUGIN, GObject)
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2010-10-18 13:27:14 -04:00
|
|
|
typedef struct _MetaPluginVersion MetaPluginVersion;
|
|
|
|
typedef struct _MetaPluginInfo MetaPluginInfo;
|
2008-10-13 07:23:47 -04:00
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass:
|
|
|
|
* @start: virtual function called when the compositor starts managing a screen
|
|
|
|
* @minimize: virtual function called when a window is minimized
|
2015-07-06 00:08:08 -04:00
|
|
|
* @size_change: virtual function called when a window changes size to/from constraints
|
2013-02-15 13:42:08 -05:00
|
|
|
* @map: virtual function called when a window is mapped
|
|
|
|
* @destroy: virtual function called when a window is destroyed
|
|
|
|
* @switch_workspace: virtual function called when the user switches to another
|
|
|
|
* workspace
|
|
|
|
* @kill_window_effects: virtual function called when the effects on a window
|
|
|
|
* need to be killed prematurely; the plugin must call the completed() callback
|
|
|
|
* as if the effect terminated naturally
|
|
|
|
* @kill_switch_workspace: virtual function called when the workspace-switching
|
|
|
|
* effect needs to be killed prematurely
|
|
|
|
* @xevent_filter: virtual function called when handling each event
|
|
|
|
* @keybinding_filter: virtual function called when handling each keybinding
|
|
|
|
* @plugin_info: virtual function that returns information about the
|
|
|
|
* #MetaPlugin
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
struct _MetaPluginClass
|
2008-12-17 04:33:56 -05:00
|
|
|
{
|
2013-02-15 13:42:08 -05:00
|
|
|
/*< private >*/
|
2008-12-17 04:33:56 -05:00
|
|
|
GObjectClass parent_class;
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/*< public >*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* MetaPluginClass::start:
|
|
|
|
*
|
|
|
|
* Virtual function called when the compositor starts managing a screen
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
void (*start) (MetaPlugin *plugin);
|
2010-04-12 17:34:49 -04:00
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::minimize:
|
|
|
|
* @actor: a #MetaWindowActor
|
|
|
|
*
|
|
|
|
* Virtual function called when the window represented by @actor is minimized.
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
void (*minimize) (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2013-06-13 21:01:17 -04:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::unminimize:
|
|
|
|
* @actor: a #MetaWindowActor
|
|
|
|
*
|
|
|
|
* Virtual function called when the window represented by @actor is unminimized.
|
|
|
|
*/
|
|
|
|
void (*unminimize) (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
|
|
|
|
2016-09-26 09:54:54 -04:00
|
|
|
void (*size_changed) (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
|
|
|
|
2015-07-06 00:08:08 -04:00
|
|
|
void (*size_change) (MetaPlugin *plugin,
|
2010-10-18 13:27:14 -04:00
|
|
|
MetaWindowActor *actor,
|
2015-07-06 00:08:08 -04:00
|
|
|
MetaSizeChange which_change,
|
|
|
|
MetaRectangle *old_frame_rect,
|
|
|
|
MetaRectangle *old_buffer_rect);
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::map:
|
|
|
|
* @actor: a #MetaWindowActor
|
|
|
|
*
|
|
|
|
* Virtual function called when the window represented by @actor is mapped.
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
void (*map) (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::destroy:
|
|
|
|
* @actor: a #MetaWindowActor
|
|
|
|
*
|
|
|
|
* Virtual function called when the window represented by @actor is destroyed.
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
void (*destroy) (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::switch_workspace:
|
|
|
|
* @from: origin workspace
|
|
|
|
* @to: destination workspace
|
|
|
|
* @direction: a #MetaMotionDirection
|
|
|
|
*
|
|
|
|
* Virtual function called when the window represented by @actor is destroyed.
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
void (*switch_workspace) (MetaPlugin *plugin,
|
2008-09-18 11:09:11 -04:00
|
|
|
gint from,
|
2008-10-09 12:57:12 -04:00
|
|
|
gint to,
|
|
|
|
MetaMotionDirection direction);
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2012-03-24 06:29:39 -04:00
|
|
|
void (*show_tile_preview) (MetaPlugin *plugin,
|
|
|
|
MetaWindow *window,
|
|
|
|
MetaRectangle *tile_rect,
|
|
|
|
int tile_monitor_number);
|
|
|
|
void (*hide_tile_preview) (MetaPlugin *plugin);
|
2013-02-15 13:42:08 -05:00
|
|
|
|
2014-05-23 17:14:51 -04:00
|
|
|
void (*show_window_menu) (MetaPlugin *plugin,
|
|
|
|
MetaWindow *window,
|
|
|
|
MetaWindowMenuType menu,
|
|
|
|
int x,
|
|
|
|
int y);
|
2014-03-13 18:34:14 -04:00
|
|
|
|
2014-05-30 18:52:06 -04:00
|
|
|
void (*show_window_menu_for_rect) (MetaPlugin *plugin,
|
|
|
|
MetaWindow *window,
|
|
|
|
MetaWindowMenuType menu,
|
|
|
|
MetaRectangle *rect);
|
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::kill_window_effects:
|
|
|
|
* @actor: a #MetaWindowActor
|
|
|
|
*
|
|
|
|
* 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.
|
2008-09-18 11:09:11 -04:00
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
void (*kill_window_effects) (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
2010-06-16 17:15:56 -04:00
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::kill_switch_workspace:
|
|
|
|
*
|
|
|
|
* Virtual function called when the workspace-switching effect needs to be
|
|
|
|
* killed prematurely.
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
void (*kill_switch_workspace) (MetaPlugin *plugin);
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2012-02-29 17:02:46 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::xevent_filter:
|
|
|
|
* @event: (type xlib.XEvent):
|
2013-02-15 13:42:08 -05:00
|
|
|
*
|
|
|
|
* Virtual function called when handling each event.
|
|
|
|
*
|
|
|
|
* Returns: %TRUE if the plugin handled the event type (i.e., if the return
|
|
|
|
* value is %FALSE, there will be no subsequent call to the manager
|
|
|
|
* completed() callback, and the compositor must ensure that any appropriate
|
|
|
|
* post-effect cleanup is carried out.
|
2012-02-29 17:02:46 -05:00
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
gboolean (*xevent_filter) (MetaPlugin *plugin,
|
|
|
|
XEvent *event);
|
2008-12-17 04:33:56 -05:00
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::keybinding_filter:
|
|
|
|
* @binding: a #MetaKeyBinding
|
|
|
|
*
|
|
|
|
* Virtual function called when handling each keybinding.
|
|
|
|
*
|
|
|
|
* Returns: %TRUE if the plugin handled the keybinding.
|
|
|
|
*/
|
2012-08-09 20:27:18 -04:00
|
|
|
gboolean (*keybinding_filter) (MetaPlugin *plugin,
|
|
|
|
MetaKeyBinding *binding);
|
|
|
|
|
2013-07-29 04:12:24 -04:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::confirm_display_config:
|
|
|
|
* @plugin: a #MetaPlugin
|
|
|
|
*
|
|
|
|
* Virtual function called when the display configuration changes.
|
|
|
|
* The common way to implement this function is to show some form
|
|
|
|
* of modal dialog that should ask the user if everything was ok.
|
|
|
|
*
|
|
|
|
* When confirmed by the user, the plugin must call meta_plugin_complete_display_change()
|
|
|
|
* to make the configuration permanent. If that function is not
|
|
|
|
* called within the timeout, the previous configuration will be
|
|
|
|
* reapplied.
|
|
|
|
*/
|
|
|
|
void (*confirm_display_change) (MetaPlugin *plugin);
|
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::plugin_info:
|
|
|
|
* @plugin: a #MetaPlugin
|
|
|
|
*
|
|
|
|
* Virtual function that returns information about the #MetaPlugin.
|
|
|
|
*
|
|
|
|
* Returns: a #MetaPluginInfo.
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
const MetaPluginInfo * (*plugin_info) (MetaPlugin *plugin);
|
2013-07-29 04:12:24 -04:00
|
|
|
|
2017-01-26 13:48:52 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginClass::create_close_dialog:
|
|
|
|
* @plugin: a #MetaPlugin
|
|
|
|
* @window: a #MetaWindow
|
|
|
|
*
|
|
|
|
* Virtual function called to create a "force quit" dialog
|
|
|
|
* on non-responsive clients.
|
|
|
|
*/
|
|
|
|
MetaCloseDialog * (* create_close_dialog) (MetaPlugin *plugin,
|
|
|
|
MetaWindow *window);
|
2017-06-14 05:20:54 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* MetaPluginClass::create_inhibit_shortcuts_dialog:
|
|
|
|
* @plugin: a #MetaPlugin
|
|
|
|
* @window: a #MetaWindow
|
|
|
|
*
|
|
|
|
* Virtual function called to create a "inhibit shortcuts" dialog
|
|
|
|
* when a client requests compositor shortcuts to be inhibited.
|
|
|
|
*/
|
|
|
|
MetaInhibitShortcutsDialog * (* create_inhibit_shortcuts_dialog) (MetaPlugin *plugin,
|
|
|
|
MetaWindow *window);
|
2008-12-17 04:33:56 -05:00
|
|
|
};
|
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginInfo:
|
|
|
|
* @name: name of the plugin
|
|
|
|
* @version: version of the plugin
|
|
|
|
* @author: author of the plugin
|
|
|
|
* @license: license of the plugin
|
|
|
|
* @description: description of the plugin
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
struct _MetaPluginInfo
|
2008-12-17 04:33:56 -05:00
|
|
|
{
|
|
|
|
const gchar *name;
|
|
|
|
const gchar *version;
|
|
|
|
const gchar *author;
|
|
|
|
const gchar *license;
|
|
|
|
const gchar *description;
|
|
|
|
};
|
2008-10-02 07:16:15 -04:00
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2010-10-18 13:27:14 -04:00
|
|
|
const MetaPluginInfo * meta_plugin_get_info (MetaPlugin *plugin);
|
|
|
|
|
2013-02-15 13:42:08 -05:00
|
|
|
/**
|
|
|
|
* MetaPluginVersion:
|
|
|
|
* @version_major: major component of the version number of Meta with which the plugin was compiled
|
|
|
|
* @version_minor: minor component of the version number of Meta with which the plugin was compiled
|
|
|
|
* @version_micro: micro component of the version number of Meta with which the plugin was compiled
|
|
|
|
* @version_api: version of the plugin API
|
|
|
|
*/
|
2010-10-18 13:27:14 -04:00
|
|
|
struct _MetaPluginVersion
|
2008-12-17 04:33:56 -05:00
|
|
|
{
|
|
|
|
/*
|
2010-10-18 13:27:14 -04:00
|
|
|
* Version information; the first three numbers match the Meta version
|
2008-12-17 04:33:56 -05:00
|
|
|
* with which the plugin was compiled (see clutter-plugins/simple.c for sample
|
|
|
|
* code).
|
|
|
|
*/
|
|
|
|
guint version_major;
|
|
|
|
guint version_minor;
|
|
|
|
guint version_micro;
|
2008-09-18 11:09:11 -04:00
|
|
|
|
2008-12-17 04:33:56 -05:00
|
|
|
/*
|
|
|
|
* 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;
|
2008-09-18 11:09:11 -04:00
|
|
|
};
|
|
|
|
|
2008-12-17 04:33:56 -05:00
|
|
|
/*
|
|
|
|
* Convenience macro to set up the plugin type. Based on GEdit.
|
|
|
|
*/
|
2018-07-23 14:29:02 -04:00
|
|
|
#define META_PLUGIN_DECLARE_WITH_CODE(ObjectName, object_name, CODE) \
|
2010-10-18 13:27:14 -04:00
|
|
|
G_MODULE_EXPORT MetaPluginVersion meta_plugin_version = \
|
2008-12-17 04:33:56 -05:00
|
|
|
{ \
|
2014-06-05 08:05:16 -04:00
|
|
|
META_MAJOR_VERSION, \
|
|
|
|
META_MINOR_VERSION, \
|
|
|
|
META_MICRO_VERSION, \
|
|
|
|
META_PLUGIN_API_VERSION \
|
2008-12-17 04:33:56 -05:00
|
|
|
}; \
|
2018-07-31 20:36:45 -04:00
|
|
|
\
|
|
|
|
/* Prototypes */ \
|
|
|
|
G_MODULE_EXPORT GType \
|
|
|
|
object_name##_get_type (void); \
|
|
|
|
\
|
|
|
|
G_MODULE_EXPORT GType \
|
|
|
|
meta_plugin_register_type (GTypeModule *type_module); \
|
|
|
|
\
|
2008-12-17 04:33:56 -05:00
|
|
|
\
|
2018-07-23 14:29:02 -04:00
|
|
|
G_DEFINE_DYNAMIC_TYPE_EXTENDED(ObjectName, object_name, \
|
|
|
|
META_TYPE_PLUGIN, 0, CODE) \
|
2008-12-17 04:33:56 -05:00
|
|
|
\
|
2018-07-23 14:23:01 -04:00
|
|
|
/* Unused, but required by G_DEFINE_DYNAMIC_TYPE */ \
|
|
|
|
static void \
|
|
|
|
object_name##_class_finalize (ObjectName##Class *klass) {} \
|
2008-12-17 04:33:56 -05:00
|
|
|
\
|
|
|
|
G_MODULE_EXPORT GType \
|
2010-10-18 13:27:14 -04:00
|
|
|
meta_plugin_register_type (GTypeModule *type_module) \
|
2008-12-17 04:33:56 -05:00
|
|
|
{ \
|
2018-07-23 14:23:01 -04:00
|
|
|
object_name##_register_type (type_module); \
|
|
|
|
return object_name##_get_type (); \
|
2008-12-17 04:33:56 -05:00
|
|
|
} \
|
2008-10-27 06:34:32 -04:00
|
|
|
|
2018-07-23 14:29:02 -04:00
|
|
|
#define META_PLUGIN_DECLARE(ObjectName, object_name) \
|
|
|
|
META_PLUGIN_DECLARE_WITH_CODE(ObjectName, object_name, {})
|
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2008-10-08 11:01:04 -04:00
|
|
|
void
|
2010-10-18 13:27:14 -04:00
|
|
|
meta_plugin_switch_workspace_completed (MetaPlugin *plugin);
|
2010-06-16 17:15:56 -04:00
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2010-06-16 17:15:56 -04:00
|
|
|
void
|
2010-10-18 13:27:14 -04:00
|
|
|
meta_plugin_minimize_completed (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
2010-06-16 17:15:56 -04:00
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2013-06-13 21:01:17 -04:00
|
|
|
void
|
|
|
|
meta_plugin_unminimize_completed (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2010-06-16 17:15:56 -04:00
|
|
|
void
|
2015-07-06 00:08:08 -04:00
|
|
|
meta_plugin_size_change_completed (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
2010-06-16 17:15:56 -04:00
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2010-06-16 17:15:56 -04:00
|
|
|
void
|
2010-10-18 13:27:14 -04:00
|
|
|
meta_plugin_map_completed (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
2010-06-16 17:15:56 -04:00
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2010-06-16 17:15:56 -04:00
|
|
|
void
|
2010-10-18 13:27:14 -04:00
|
|
|
meta_plugin_destroy_completed (MetaPlugin *plugin,
|
|
|
|
MetaWindowActor *actor);
|
2008-10-16 18:02:34 -04:00
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2013-07-29 04:12:24 -04:00
|
|
|
void
|
|
|
|
meta_plugin_complete_display_change (MetaPlugin *plugin,
|
|
|
|
gboolean ok);
|
|
|
|
|
2009-08-12 00:12:52 -04:00
|
|
|
/**
|
|
|
|
* MetaModalOptions:
|
|
|
|
* @META_MODAL_POINTER_ALREADY_GRABBED: if set the pointer is already
|
|
|
|
* grabbed by the plugin and should not be grabbed again.
|
|
|
|
* @META_MODAL_KEYBOARD_ALREADY_GRABBED: if set the keyboard is already
|
|
|
|
* grabbed by the plugin and should not be grabbed again.
|
|
|
|
*
|
2010-10-18 13:27:14 -04:00
|
|
|
* Options that can be provided when calling meta_plugin_begin_modal().
|
2009-08-12 00:12:52 -04:00
|
|
|
*/
|
|
|
|
typedef enum {
|
|
|
|
META_MODAL_POINTER_ALREADY_GRABBED = 1 << 0,
|
|
|
|
META_MODAL_KEYBOARD_ALREADY_GRABBED = 1 << 1
|
|
|
|
} MetaModalOptions;
|
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2009-08-12 00:12:52 -04:00
|
|
|
gboolean
|
2010-10-18 13:27:14 -04:00
|
|
|
meta_plugin_begin_modal (MetaPlugin *plugin,
|
|
|
|
MetaModalOptions options,
|
|
|
|
guint32 timestamp);
|
2009-08-12 00:12:52 -04:00
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2009-08-12 00:12:52 -04:00
|
|
|
void
|
2010-10-18 13:27:14 -04:00
|
|
|
meta_plugin_end_modal (MetaPlugin *plugin,
|
|
|
|
guint32 timestamp);
|
2008-10-29 09:27:35 -04:00
|
|
|
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2017-08-26 15:43:17 -04:00
|
|
|
MetaDisplay *meta_plugin_get_display (MetaPlugin *plugin);
|
2008-11-03 05:07:12 -05:00
|
|
|
|
2014-03-18 17:31:22 -04:00
|
|
|
void _meta_plugin_set_compositor (MetaPlugin *plugin, MetaCompositor *compositor);
|
2008-12-22 16:53:10 -05:00
|
|
|
|
2012-04-05 01:29:39 -04:00
|
|
|
/* XXX: Putting this in here so it's in the public header. */
|
2019-01-22 21:25:35 -05:00
|
|
|
META_EXPORT
|
2012-04-05 01:29:39 -04:00
|
|
|
void meta_plugin_manager_set_plugin_type (GType gtype);
|
|
|
|
|
2010-10-18 13:27:14 -04:00
|
|
|
#endif /* META_PLUGIN_H_ */
|