|
|
@ -92,19 +92,18 @@ Window root, barwin;
|
|
|
|
int
|
|
|
|
int
|
|
|
|
getproto(Window w)
|
|
|
|
getproto(Window w)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int status, format, protos = 0;
|
|
|
|
int i, format, protos, status;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
unsigned long extra, res;
|
|
|
|
unsigned long extra, res;
|
|
|
|
Atom *protocols, real;
|
|
|
|
Atom *protocols, real;
|
|
|
|
|
|
|
|
|
|
|
|
status = XGetWindowProperty(dpy, w, wmatom[WMProtocols], 0L, 20L,
|
|
|
|
protos = 0;
|
|
|
|
False, XA_ATOM, &real, &format, &res, &extra, (unsigned char **)&protocols);
|
|
|
|
status = XGetWindowProperty(dpy, w, wmatom[WMProtocols], 0L, 20L, False,
|
|
|
|
|
|
|
|
XA_ATOM, &real, &format, &res, &extra, (unsigned char **)&protocols);
|
|
|
|
if(status != Success || protocols == 0)
|
|
|
|
if(status != Success || protocols == 0)
|
|
|
|
return protos;
|
|
|
|
return protos;
|
|
|
|
for(i = 0; i < res; i++) {
|
|
|
|
for(i = 0; i < res; i++)
|
|
|
|
if(protocols[i] == wmatom[WMDelete])
|
|
|
|
if(protocols[i] == wmatom[WMDelete])
|
|
|
|
protos |= PROTODELWIN;
|
|
|
|
protos |= PROTODELWIN;
|
|
|
|
}
|
|
|
|
|
|
|
|
free(protocols);
|
|
|
|
free(protocols);
|
|
|
|
return protos;
|
|
|
|
return protos;
|
|
|
|
}
|
|
|
|
}
|
|
|
|