--- dsimple.c 2004-12-22 15:08:49.847042792 +0100 +++ dsimple.c.new 2004-12-22 15:07:11.517991080 +0100 @@ -531,6 +531,17 @@ Window Select_Window(dpy) if (target_win == None) { target_win = event.xbutton.subwindow; /* window selected */ if (target_win == None) target_win = root; + } else { /* search topmost window (for tab-supporting wm's) */ + Window root_return; + Window win_return; + Window parent_return; + Window *children_return = NULL; + unsigned int nr_children = 0; + if (XQueryTree(dpy, target_win, &root_return, &parent_return, + &children_return, &nr_children)) { + target_win = children_return[nr_children - 1]; + XFree(children_return); + } } buttons++; break;