Esempio n. 1
0
/**
 * meta_plugin_end_modal:
 * @plugin: a #MetaPlugin
 * @timestamp: the time used for releasing grabs
 *
 * 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.
 */
void
meta_plugin_end_modal (MetaPlugin *plugin,
                       guint32     timestamp)
{
  MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv;

  meta_end_modal_for_plugin (priv->screen, plugin, timestamp);
}
Esempio n. 2
0
/* This is used when reloading plugins to make sure we don't have
 * a left-over modal grab for this screen.
 */
LOCAL_SYMBOL void
meta_check_end_modal (MetaScreen *screen)
{
    MetaDisplay    *display    = meta_screen_get_display (screen);
    MetaCompositor *compositor = display->compositor;

    if (compositor->modal_plugin &&
            meta_plugin_get_screen (compositor->modal_plugin) == screen)
    {
        meta_end_modal_for_plugin (screen,
                                   compositor->modal_plugin,
                                   CurrentTime);
    }
}