Function to ping windows with _NET_WM_PING.

SVN revision: 15135
This commit is contained in:
sebastid 2005-06-05 14:38:42 +00:00 committed by sebastid
parent 8af53488ae
commit b7c40c5e93
2 changed files with 22 additions and 5 deletions

View File

@ -1217,11 +1217,7 @@ EAPI int ecore_x_netwm_strut_partial_get(Ecore_X_Window win, int
EAPI int ecore_x_netwm_icon_get(Ecore_X_Window win, int *width, int *height, unsigned int **data, int *num);
EAPI void ecore_x_netwm_icon_geometry_set(Ecore_X_Window win, int x, int y, int width, int height);
EAPI int ecore_x_netwm_icon_geometry_get(Ecore_X_Window win, int *x, int *y, int *width, int *height);
#if 0
/* FIXME */
EAPI void ecore_x_netwm_icon_set();
EAPI int ecore_x_netwm_icon_get();
#endif
EAPI void ecore_x_netwm_ping(Ecore_X_Window win);
EAPI void ecore_x_netwm_pid_set(Ecore_X_Window win, int pid);
EAPI int ecore_x_netwm_pid_get(Ecore_X_Window win, int *pid);
EAPI void ecore_x_netwm_handled_icons_set(Ecore_X_Window win);

View File

@ -1309,3 +1309,24 @@ ecore_x_netwm_frame_size_get(Ecore_X_Window win, int *fl, int *fr, int *ft, int
return 1;
}
void
ecore_x_netwm_ping(Ecore_X_Window win)
{
XEvent xev;
if (!win) return;
xev.xclient.type = ClientMessage;
xev.xclient.display = _ecore_x_disp;
xev.xclient.window = win;
xev.xclient.message_type = ECORE_X_ATOM_WM_PROTOCOLS;
xev.xclient.format = 32;
xev.xclient.data.l[0] = ECORE_X_ATOM_NET_WM_PING;
xev.xclient.data.l[1] = CurrentTime;
xev.xclient.data.l[2] = win;
xev.xclient.data.l[3] = 0;
xev.xclient.data.l[4] = 0;
xev.xclient.data.l[5] = 0;
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
}