View | Details | Raw Unified | Return to bug 12119
Collapse All | Expand All

(-)xxkb-1.10/xxkb.c (-1 / +28 lines)
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;

Return to bug 12119