#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
static char *window_id_format = "0x%lx";
int main(void)
{
unsigned int numkids, i, mapped, scrn;
Window r, p, *kids;
XWindowAttributes attr;
Window root;
Display *dispsy;
char *win_name;
XTextProperty text_prop;
dispsy = XOpenDisplay(0);
scrn = DefaultScreen(dispsy);
root = RootWindow(dispsy, scrn);
mapped = 0;
XQueryTree(dispsy, root, &r, &p, &kids, &numkids);
for(i = 0; i < numkids; ++i)
{
XGetWindowAttributes(dispsy, kids[i], &attr);
if(attr.map_state == IsViewable)
{
++mapped;
printf(window_id_format, kids[i]);
status = XGetWMName(dispsy, kids[i], &text_prop);
if(!status || !text_prop.value || !text_prop.nitems)
{
printf("GetWMName error\n");
// return -1;
}
if(!XFetchName(dispsy, kids[i], &win_name))
{
printf("(has no name)\n");
printf(" \n");
}
else if(win_name)
{
printf("win_name = %s \n", win_name);
XFree(win_name);
}
}
}
}
Tuesday, December 06, 2011
Sample code to query window name.
Sample code to query window name.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment