E_TEST_HELPER_SIGNAL_FOCUS_CHANGED,
E_TEST_HELPER_SIGNAL_RENDER,
E_TEST_HELPER_AUX_HINT_CHANGED,
+ E_TEST_HELPER_SIGNAL_ICONIC_STATE_CHANGED,
};
static const Eldbus_Signal signals[] = {
ELDBUS_ARGS({"uuss", "window id, aux_hint id, aux_hint key, aux_hint value"}),
0
},
+ [E_TEST_HELPER_SIGNAL_ICONIC_STATE_CHANGED] =
+ {
+ "IconicStateChanged",
+ ELDBUS_ARGS({"ub", "window id, iconic state"}),
+ 0
+ },
{ }
};
}
}
+static Eina_Bool
+_e_test_helper_cb_client_iconic_state_changed(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+{
+ E_Event_Client *ev = event;
+ E_Client *ec;
+ Eldbus_Message *sig;
+ Ecore_Window win;
+
+ if (!th_data->tc_running) return ECORE_CALLBACK_PASS_ON;
+
+ ec = ev->ec;
+ if (!ec) return ECORE_CALLBACK_PASS_ON;
+
+ win = e_pixmap_res_id_get(ec->pixmap);
+ if (!win) return ECORE_CALLBACK_PASS_ON;
+
+ if (!_e_test_helper_find_win_on_reg_list(win)) return ECORE_CALLBACK_PASS_ON;
+
+ sig = eldbus_service_signal_new(th_data->iface, E_TEST_HELPER_SIGNAL_ICONIC_STATE_CHANGED);
+ eldbus_message_arguments_append(sig, "ub", win, ec->iconic);
+ eldbus_service_signal_send(th_data->iface, sig);
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
/* externally accessible functions */
EINTERN int
e_test_helper_init(void)
_e_test_helper_cb_client_focus_changed, NULL);
E_LIST_HANDLER_APPEND(th_data->hdlrs, E_EVENT_COMP_OBJECT_IMG_RENDER,
_e_test_helper_cb_img_render, NULL);
+ E_LIST_HANDLER_APPEND(th_data->hdlrs, E_EVENT_CLIENT_ICONIFY,
+ _e_test_helper_cb_client_iconic_state_changed, NULL);
+ E_LIST_HANDLER_APPEND(th_data->hdlrs, E_EVENT_CLIENT_UNICONIFY,
+ _e_test_helper_cb_client_iconic_state_changed, NULL);
E_LIST_HOOK_APPEND(th_data->hooks, E_CLIENT_HOOK_AUX_HINT_CHANGE,
_e_test_helper_hook_cb_client_aux_hint_change, NULL);