int _e_mod_atspi_dbus_broadcast(Gesture_Info *gi)
{
+ static int last_state = 0;
+
/* Implement this for gesture broadcast */
DEBUG("atspi bus broadcast callback");
if (!conn) return -1;
}
//
+
E_Client *client = e_client_under_position_get(desk, gi->x_beg, gi->y_beg, NULL);
uint32_t resID = e_pixmap_res_id_get(client->pixmap);
+ // Ensure that there is at least one 'ongoing' signal before 'end' in two-finger hover
+ if (gi->state == 2 && last_state != 1 && gi->type == TWO_FINGERS_HOVER)
+ {
+ eldbus_service_signal_emit(g_context->iface, GESTURE_DETECTED_SIGNAL, (int)gi->type, gi->x_beg, gi->y_beg,
+ gi->x_end, gi->y_end, 1, gi->event_time - 5);
+ }
+
+
eldbus_service_signal_emit(g_context->iface, GESTURE_DETECTED_SIGNAL, (int)gi->type, gi->x_beg, gi->y_beg,
gi->x_end, gi->y_end, gi->state, gi->event_time, resID);
INFO("GestureDetected %s %d (%d %d %d %d %d %u) resID: %u", gesture_enum_to_string(gi->type),
(int)gi->type, gi->x_beg, gi->y_beg, gi->x_end, gi->y_end, gi->state, gi->event_time, resID);
+ last_state = gi->state;
+
return 0;
}