Add an xevent_filter method to our plugin
By default, mutter doesn't pass events to clutter. We need to add an xevent_filter method to our plugin and do that ourselves. svn path=/trunk/; revision=7
This commit is contained in:
parent
2fd4c9058d
commit
dec83013fc
@ -29,6 +29,7 @@
|
|||||||
#include <glib/gi18n-lib.h>
|
#include <glib/gi18n-lib.h>
|
||||||
|
|
||||||
#include <clutter/clutter.h>
|
#include <clutter/clutter.h>
|
||||||
|
#include <clutter/x11/clutter-x11.h>
|
||||||
#include <gjs/gjs.h>
|
#include <gjs/gjs.h>
|
||||||
#include <gmodule.h>
|
#include <gmodule.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -38,6 +39,7 @@
|
|||||||
static gboolean do_init (const char *params);
|
static gboolean do_init (const char *params);
|
||||||
static gboolean reload (const char *params);
|
static gboolean reload (const char *params);
|
||||||
|
|
||||||
|
static gboolean xevent_filter (XEvent *xev);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the plugin struct; function pointers initialized in
|
* Create the plugin struct; function pointers initialized in
|
||||||
@ -72,6 +74,9 @@ g_module_check_init (GModule *module)
|
|||||||
/* The reload handler */
|
/* The reload handler */
|
||||||
plugin->reload = reload;
|
plugin->reload = reload;
|
||||||
|
|
||||||
|
/* Event handling */
|
||||||
|
plugin->xevent_filter = xevent_filter;
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,6 +164,12 @@ reload (const char *params)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
xevent_filter (XEvent *xev)
|
||||||
|
{
|
||||||
|
return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GModule unload function -- do any cleanup required.
|
* GModule unload function -- do any cleanup required.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user