Fix urgent flag of tag when hint appears on current tag & try a new way to handle unmap event
This commit is contained in:
parent
35ccda32a4
commit
d6afd65f6f
23
src/event.c
23
src/event.c
@ -316,18 +316,21 @@ event_unmapnotify(XEvent *e)
|
||||
struct client *c;
|
||||
struct _systray *s;
|
||||
|
||||
if((c = client_gb_win(ev->window))
|
||||
&& ev->send_event
|
||||
&& ev->event == W->root)
|
||||
if((c = client_gb_win(ev->window)))
|
||||
{
|
||||
int d;
|
||||
unsigned char *ret = NULL;
|
||||
if(!ev->send_event)
|
||||
{
|
||||
int d;
|
||||
unsigned char *ret = NULL;
|
||||
|
||||
if(XGetWindowProperty(EVDPY(e), c->win, W->net_atom[wm_state], 0, 2,
|
||||
False, W->net_atom[wm_state], (Atom*)&d, &d,
|
||||
(long unsigned int*)&d, (long unsigned int*)&d, &ret) == Success)
|
||||
if(*ret == NormalState)
|
||||
client_remove(c);
|
||||
if(XGetWindowProperty(EVDPY(e), c->win, W->net_atom[wm_state], 0, 2,
|
||||
False, W->net_atom[wm_state], (Atom*)&d, &d,
|
||||
(long unsigned int*)&d, (long unsigned int*)&d, &ret) == Success)
|
||||
if(*ret == NormalState)
|
||||
client_remove(c);
|
||||
}
|
||||
else
|
||||
client_unmap(c);
|
||||
}
|
||||
else if((s = systray_find(ev->window)))
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user