1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
diff -up src/wmfire-1.2.4/src/wmfire.c.orig src/wmfire-1.2.4/src/wmfire.c
--- src/wmfire-1.2.4/src/wmfire.c.orig 2014-05-16 17:21:52.000000000 -0600
+++ src/wmfire-1.2.4/src/wmfire.c 2014-05-16 18:00:49.000000000 -0600
@@ -628,10 +628,21 @@ make_wmfire_dockapp(void)
icon = gdk_pixmap_create_from_xpm_d(bm.win, NULL, NULL, icon_xpm);
gdk_window_set_icon(bm.win, bm.iconwin, icon, NULL);
- gdk_window_show(bm.win);
+ {
+ Window w, p, dummy1, *dummy2;
+ unsigned int dummy3;
+ Display *dpy = GDK_WINDOW_XDISPLAY(bm.win);
- /* Moved after gdk_window_show due to change in GTK 2.4 */
- XSetWMHints(GDK_WINDOW_XDISPLAY(bm.win), win, &wmhints);
+ XQueryTree(dpy, win, &dummy1, &p, &dummy2, &dummy3);
+ if (dummy2)
+ XFree(dummy2);
+ w = XCreateSimpleWindow(dpy, p, 0, 0, 1, 1, 0, 0, 0);
+ XReparentWindow(dpy, win, w, 0, 0);
+ gdk_window_show(bm.win);
+ XSetWMHints(dpy, win, &wmhints);
+ XReparentWindow(dpy, win, p, 0, 0);
+ XDestroyWindow(dpy, w);
+ }
if (bm.x > 0 || bm.y > 0)
gdk_window_move(bm.win, bm.x, bm.y);
|