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 client *c;
|
||||||
struct _systray *s;
|
struct _systray *s;
|
||||||
|
|
||||||
if((c = client_gb_win(ev->window))
|
if((c = client_gb_win(ev->window)))
|
||||||
&& ev->send_event
|
|
||||||
&& ev->event == W->root)
|
|
||||||
{
|
{
|
||||||
int d;
|
if(!ev->send_event)
|
||||||
unsigned char *ret = NULL;
|
{
|
||||||
|
int d;
|
||||||
|
unsigned char *ret = NULL;
|
||||||
|
|
||||||
if(XGetWindowProperty(EVDPY(e), c->win, W->net_atom[wm_state], 0, 2,
|
if(XGetWindowProperty(EVDPY(e), c->win, W->net_atom[wm_state], 0, 2,
|
||||||
False, W->net_atom[wm_state], (Atom*)&d, &d,
|
False, W->net_atom[wm_state], (Atom*)&d, &d,
|
||||||
(long unsigned int*)&d, (long unsigned int*)&d, &ret) == Success)
|
(long unsigned int*)&d, (long unsigned int*)&d, &ret) == Success)
|
||||||
if(*ret == NormalState)
|
if(*ret == NormalState)
|
||||||
client_remove(c);
|
client_remove(c);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
client_unmap(c);
|
||||||
}
|
}
|
||||||
else if((s = systray_find(ev->window)))
|
else if((s = systray_find(ev->window)))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -60,8 +60,7 @@ tag_screen(struct screen *s, struct tag *t)
|
|||||||
if(!SLIST_EMPTY(&t->clients) && !(W->flags & WMFS_SCAN))
|
if(!SLIST_EMPTY(&t->clients) && !(W->flags & WMFS_SCAN))
|
||||||
client_focus( client_tab_next(t->sel));
|
client_focus( client_tab_next(t->sel));
|
||||||
|
|
||||||
if(t->flags & TAG_URGENT)
|
t->flags &= ~TAG_URGENT;
|
||||||
t->flags ^= TAG_URGENT;
|
|
||||||
|
|
||||||
infobar_elem_screen_update(s, ElemTag);
|
infobar_elem_screen_update(s, ElemTag);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user