|
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; |