Fixed erroniously showing unmapped but extant windows in taskbar

This commit is contained in:
K D Hedger
2025-02-19 11:29:19 +00:00
parent a744285cbf
commit c6d24e3c2d
2 changed files with 22 additions and 14 deletions

View File

@ -1,4 +1,5 @@
0.2.1 0.2.1
Fixed erroniously showing unmapped but extant windows in taskbar,
Fixed right side image when using background. Fixed right side image when using background.
Fixed setting window background. Fixed setting window background.
Fixed unminimizing windows. Fixed unminimizing windows.

View File

@ -156,20 +156,21 @@ bool taskListCB(void* p,void* ud)
Window doTreeWalkForTasks(Window wind) Window doTreeWalkForTasks(Window wind)
{ {
Window root,parent; Window root,parent;
Window *children; Window *children;
Window thewin; Window thewin;
unsigned int n_children; unsigned int n_children;
int i; int i;
unsigned long winid; unsigned long winid;
char *wname; char *wname;
void *ptr=NULL; void *ptr=NULL;
unsigned long count=32; unsigned long count=32;
Atom rtype; Atom rtype;
int rfmt; int rfmt;
unsigned long rafter; unsigned long rafter;
unsigned long n=0; unsigned long n=0;
Status st; Status st;
taskStruct tsk; taskStruct tsk;
XWindowAttributes wattr;
if (!XQueryTree(apc->display,wind,&root,&parent,&children,&n_children)) if (!XQueryTree(apc->display,wind,&root,&parent,&children,&n_children))
return None; return None;
@ -186,6 +187,12 @@ Window doTreeWalkForTasks(Window wind)
{ {
if(!hasProp(children[j],WM_STATE)) if(!hasProp(children[j],WM_STATE))
continue; continue;
else
{
XGetWindowAttributes(apc->display,children[j],&wattr);
if(wattr.map_state==IsUnmapped)
continue;
}
if(hasProp(children[j],WM_CLASS)) if(hasProp(children[j],WM_CLASS))
{ {