Emit mouse::move signals when we get a motionnotify
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
ae8567bef3
commit
18799f32f8
21
event.c
21
event.c
|
@ -340,12 +340,31 @@ event_handle_destroynotify(xcb_destroy_notify_event_t *ev)
|
||||||
static void
|
static void
|
||||||
event_handle_motionnotify(xcb_motion_notify_event_t *ev)
|
event_handle_motionnotify(xcb_motion_notify_event_t *ev)
|
||||||
{
|
{
|
||||||
|
drawin_t *w;
|
||||||
|
client_t *c;
|
||||||
|
|
||||||
globalconf.timestamp = ev->time;
|
globalconf.timestamp = ev->time;
|
||||||
|
|
||||||
if(event_handle_mousegrabber(ev->root_x, ev->root_y, ev->state))
|
if(event_handle_mousegrabber(ev->root_x, ev->root_y, ev->state))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#warning
|
if((c = client_getbyframewin(ev->event)))
|
||||||
|
{
|
||||||
|
luaA_object_push(globalconf.L, c);
|
||||||
|
lua_pushnumber(globalconf.L, ev->event_x);
|
||||||
|
lua_pushnumber(globalconf.L, ev->event_y);
|
||||||
|
luaA_object_emit_signal(globalconf.L, -3, "mouse::move", 2);
|
||||||
|
lua_pop(globalconf.L, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if((w = drawin_getbywin(ev->event)))
|
||||||
|
{
|
||||||
|
luaA_object_push(globalconf.L, w);
|
||||||
|
lua_pushnumber(globalconf.L, ev->event_x);
|
||||||
|
lua_pushnumber(globalconf.L, ev->event_y);
|
||||||
|
luaA_object_emit_signal(globalconf.L, -3, "mouse::move", 2);
|
||||||
|
lua_pop(globalconf.L, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The leave notify event handler.
|
/** The leave notify event handler.
|
||||||
|
|
|
@ -163,6 +163,7 @@ local function setup_signals(wibox)
|
||||||
end
|
end
|
||||||
clone_signal("mouse::enter")
|
clone_signal("mouse::enter")
|
||||||
clone_signal("mouse::leave")
|
clone_signal("mouse::leave")
|
||||||
|
clone_signal("mouse::move")
|
||||||
clone_signal("property::border_color")
|
clone_signal("property::border_color")
|
||||||
clone_signal("property::border_width")
|
clone_signal("property::border_width")
|
||||||
clone_signal("property::buttons")
|
clone_signal("property::buttons")
|
||||||
|
|
|
@ -390,6 +390,7 @@ window_class_setup(lua_State *L)
|
||||||
signal_add(&window_class.signals, "property::type");
|
signal_add(&window_class.signals, "property::type");
|
||||||
signal_add(&window_class.signals, "button::press");
|
signal_add(&window_class.signals, "button::press");
|
||||||
signal_add(&window_class.signals, "button::release");
|
signal_add(&window_class.signals, "button::release");
|
||||||
|
signal_add(&window_class.signals, "mouse::move");
|
||||||
}
|
}
|
||||||
|
|
||||||
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
||||||
|
|
Loading…
Reference in New Issue