Lines 352-358
Link Here
|
352 |
BASE(ev.core.xreparent.parent) == BASE(win) || |
352 |
BASE(ev.core.xreparent.parent) == BASE(win) || |
353 |
ev.core.xreparent.override_redirect == TRUE ) break; |
353 |
ev.core.xreparent.override_redirect == TRUE ) break; |
354 |
|
354 |
|
355 |
AddWindow(win, ev.core.xreparent.parent); |
355 |
/* This is an ugly hack performed by an IceWM user. |
|
|
356 |
* In order to skip the IceWM's dock, |
357 |
* we iterate through all 'real' windows |
358 |
* and only proceed if win is on the list. |
359 |
*/ |
360 |
|
361 |
Window rwin, parent, *children, *child, app; |
362 |
int num; |
363 |
|
364 |
XQueryTree(dpy, root, &rwin, &parent, &children, &num); |
365 |
child = children; |
366 |
|
367 |
while (num --> 0) { |
368 |
app = None; |
369 |
GetAppWindow(*child, &app); |
370 |
|
371 |
if (app == win) { |
372 |
AddWindow(win, ev.core.xreparent.parent); |
373 |
break; |
374 |
} |
375 |
child++; |
376 |
}; |
377 |
|
378 |
if (children != None) |
379 |
XFree(children); |
380 |
|
381 |
// AddWindow(win, ev.core.xreparent.parent); |
382 |
|
356 |
break; |
383 |
break; |
357 |
case DestroyNotify: |
384 |
case DestroyNotify: |
358 |
if (ev.core.xdestroywindow.event == root) break; |
385 |
if (ev.core.xdestroywindow.event == root) break; |