Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / patches / wmfire-update-for-new-gdk-versions.patch
1 This patch comes from Debian and was modified by Kei Kebreau <kei@openmailbox.org>.
2 Link: https://anonscm.debian.org/cgit/pkg-wmaker/wmfire.git/plain/debian/patches/gdk_updates.patch?h=debian/1.2.4-2&id=a272234fc5eecdbfc469adb12133196bc62f3059
3
4 Description: Update for newer versions of GDK.
5 In particular, the icon window was not receiving enter and leave events from
6 the pointer. To fix this, we get rid of the second GdkWindow iconwin entirely
7 and set win to be its own icon.
8 .
9 This also removes the need for the "broken window manager" fix, so we remove it
10 and all references to it.
11 Author: Doug Torrance <dtorrance@piedmont.edu>
12
13 diff -ur wmfire-1.2.4.old/src/wmfire.c wmfire-1.2.4/src/wmfire.c
14 --- wmfire-1.2.4.old/src/wmfire.c 2017-04-23 14:26:58.449487117 -0400
15 +++ wmfire-1.2.4/src/wmfire.c 2017-04-23 14:32:10.785238671 -0400
16 @@ -77,7 +77,6 @@
17 typedef struct {
18 Display *display; /* X11 display */
19 GdkWindow *win; /* Main window */
20 - GdkWindow *iconwin; /* Icon window */
21 GdkGC *gc; /* Drawing GC */
22 GdkPixmap *pixmap; /* Main pixmap */
23 GdkBitmap *mask; /* Dockapp mask */
24 @@ -141,7 +140,6 @@
25 int cmap = 0;
26 int lock = 0;
27 int proximity = 0;
28 -int broken_wm = 0;
29
30 /******************************************/
31 /* Main */
32 @@ -262,12 +260,8 @@
33 usleep(REFRESH);
34
35 /* Draw the rgb buffer to screen */
36 - if (!broken_wm)
37 - gdk_draw_rgb_image(bm.iconwin, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
38 - else
39 - gdk_draw_rgb_image(bm.win, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
40 + gdk_draw_rgb_image(bm.win, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
41 }
42 -
43 return 0;
44 }
45
46 @@ -556,9 +550,7 @@
47 #define MASK GDK_BUTTON_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_HINT_MASK
48
49 GdkWindowAttr attr;
50 - GdkWindowAttr attri;
51 Window win;
52 - Window iconwin;
53
54 GdkPixmap *icon;
55
56 @@ -578,10 +570,6 @@
57 attr.wmclass_class = "wmfire";
58 attr.window_type = GDK_WINDOW_TOPLEVEL;
59
60 - /* Make a copy for the iconwin - parameters are the same */
61 - memcpy(&attri, &attr, sizeof (GdkWindowAttr));
62 - attri.window_type = GDK_WINDOW_CHILD;
63 -
64 sizehints.flags = USSize;
65 sizehints.width = 64;
66 sizehints.height = 64;
67 @@ -592,18 +580,11 @@
68 exit(1);
69 }
70
71 - bm.iconwin = gdk_window_new(bm.win, &attri, GDK_WA_TITLE | GDK_WA_WMCLASS);
72 - if (!bm.iconwin) {
73 - fprintf(stderr, "FATAL: Cannot make icon window\n");
74 - exit(1);
75 - }
76 -
77 win = GDK_WINDOW_XWINDOW(bm.win);
78 - iconwin = GDK_WINDOW_XWINDOW(bm.iconwin);
79 XSetWMNormalHints(GDK_WINDOW_XDISPLAY(bm.win), win, &sizehints);
80
81 wmhints.initial_state = WithdrawnState;
82 - wmhints.icon_window = iconwin;
83 + wmhints.icon_window = win;
84 wmhints.icon_x = 0;
85 wmhints.icon_y = 0;
86 wmhints.window_group = win;
87 @@ -613,10 +594,8 @@
88
89 bm.pixmap = gdk_pixmap_create_from_xpm_d(bm.win, &(bm.mask), NULL, master_xpm);
90 gdk_window_shape_combine_mask(bm.win, bm.mask, 0, 0);
91 - gdk_window_shape_combine_mask(bm.iconwin, bm.mask, 0, 0);
92
93 gdk_window_set_back_pixmap(bm.win, bm.pixmap, False);
94 - gdk_window_set_back_pixmap(bm.iconwin, bm.pixmap, False);
95
96 #if 0
97 gdk_window_set_type_hint(bm.win, GDK_WINDOW_TYPE_HINT_DOCK);
98 @@ -626,7 +605,6 @@
99 #endif
100
101 icon = gdk_pixmap_create_from_xpm_d(bm.win, NULL, NULL, icon_xpm);
102 - gdk_window_set_icon(bm.win, bm.iconwin, icon, NULL);
103
104 gdk_window_show(bm.win);
105
106 @@ -721,9 +699,6 @@
107 case 'l':
108 lock = 1;
109 break;
110 - case 'b':
111 - broken_wm = 1;
112 - break;
113 case 'h':
114 default:
115 do_help();
116 @@ -766,6 +741,5 @@
117 for (i = 0; i < NFLAMES; i++)
118 fprintf(stderr, "%d:%s ", i + 1, fire[i].text);
119 fprintf(stderr, "\n\t-l\t\t\tlock flame colour and monitor\n");
120 - fprintf(stderr, "\t-b\t\t\tactivate broken window manager fix\n");
121 fprintf(stderr, "\t-h\t\t\tprints this help\n");
122 }
123 Only in wmfire-1.2.4/src: wmfire.c~
124 diff -ur wmfire-1.2.4.old/wmfire.1 wmfire-1.2.4/wmfire.1
125 --- wmfire-1.2.4.old/wmfire.1 2017-04-23 14:26:58.449487117 -0400
126 +++ wmfire-1.2.4/wmfire.1 2017-04-23 14:41:20.697186114 -0400
127 @@ -8,7 +8,6 @@
128
129 .SH SYNOPSIS
130 .B wmfire
131 -[-b]
132 [-c CPU]
133 [-f COLOUR]
134 [-F FILE]
135 @@ -54,9 +53,6 @@
136
137 .SH OPTIONS
138 .TP
139 -.B -b
140 -Activate broken window manager fix (if grey box diplayed)
141 -.TP
142 .B -c [0..3]
143 .br
144 Monitor SMP CPU number X