|
|
@ -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; |
|
|
|
} |
|
|
|
} |
|
|
|