Add ewmh protocols, and return -1 if E doesn't know the protocol

SVN revision: 14435
This commit is contained in:
sebastid 2005-04-28 06:50:11 +00:00 committed by sebastid
parent aeabe389a2
commit 13a15bed18
5 changed files with 24 additions and 0 deletions

View File

@ -694,6 +694,18 @@ typedef enum _Ecore_X_WM_Protocol {
*/
ECORE_X_WM_PROTOCOL_TAKE_FOCUS,
/**
* If enabled the window manager can ping the window to check
* if it is alive.
*/
ECORE_X_NET_WM_PROTOCOL_PING,
/**
* If enabled the window manager can sync updating with the
* window (?)
*/
ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST,
/* Number of defined items */
ECORE_X_WM_PROTOCOL_NUM
} Ecore_X_WM_Protocol;

View File

@ -113,6 +113,9 @@ extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_OPACITY;
extern Ecore_X_Atom ECORE_X_ATOM_NET_FRAME_EXTENTS;
extern Ecore_X_Atom ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS;
extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_PING;
extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_SYNC_REQUEST;
/* Selections */
extern Ecore_X_Atom ECORE_X_ATOM_SELECTION_TARGETS;
extern Ecore_X_Atom ECORE_X_ATOM_SELECTION_PRIMARY;

View File

@ -368,6 +368,8 @@ ecore_x_init(const char *name)
_ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_DELETE_REQUEST] = ECORE_X_ATOM_WM_DELETE_WINDOW;
_ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_TAKE_FOCUS] = ECORE_X_ATOM_WM_TAKE_FOCUS;
_ecore_x_atoms_wm_protocols[ECORE_X_NET_WM_PROTOCOL_PING] = ECORE_X_ATOM_NET_WM_PING;
_ecore_x_atoms_wm_protocols[ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST] = ECORE_X_ATOM_NET_WM_SYNC_REQUEST;
_ecore_x_selection_data_init();
_ecore_x_dnd_init();

View File

@ -266,6 +266,9 @@ Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_OPACITY = 0;
Ecore_X_Atom ECORE_X_ATOM_NET_FRAME_EXTENTS = 0;
Ecore_X_Atom ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS = 0;
Ecore_X_Atom ECORE_X_ATOM_NET_WM_PING = 0;
Ecore_X_Atom ECORE_X_ATOM_NET_WM_SYNC_REQUEST = 0;
void
ecore_x_netwm_init(void)
{
@ -357,6 +360,9 @@ ecore_x_netwm_init(void)
ECORE_X_ATOM_NET_FRAME_EXTENTS = _ATOM_GET("_NET_FRAME_EXTENTS");
ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS = _ATOM_GET("_NET_REQUEST_FRAME_EXTENTS");
ECORE_X_ATOM_NET_WM_PING = _ATOM_GET("_NET_WM_PING");
ECORE_X_ATOM_NET_WM_SYNC_REQUEST = _ATOM_GET("_NET_WM_SYNC_REQUEST");
}
/*

View File

@ -614,6 +614,7 @@ ecore_x_window_prop_protocol_list_get(Ecore_X_Window win, int *num_ret)
{
Ecore_X_WM_Protocol j;
prot_ret[i] = -1;
for (j = 0; j < ECORE_X_WM_PROTOCOL_NUM; j++)
{
if (_ecore_x_atoms_wm_protocols[j] == protos[i])