mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: wmfire: Update source code for new GDK versions.
* gnu/packages/patches/wmfire-update-for-new-gdk-versions.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnustep.scm (wmfire)[source]: Add patch.
This commit is contained in:
parent
094f4b53af
commit
0611abff32
3 changed files with 149 additions and 1 deletions
|
@ -996,6 +996,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/wicd-urwid-1.3.patch \
|
||||
%D%/packages/patches/wicd-wpa2-ttls.patch \
|
||||
%D%/packages/patches/wmctrl-64-fix.patch \
|
||||
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \
|
||||
%D%/packages/patches/woff2-libbrotli.patch \
|
||||
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
|
||||
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
|
||||
|
|
|
@ -22,6 +22,7 @@ (define-module (gnu packages gnustep)
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
|
@ -244,7 +245,9 @@ (define-public wmfire
|
|||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))))
|
||||
"101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))
|
||||
(patches
|
||||
(search-patches "wmfire-update-for-new-gdk-versions.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+-2)
|
||||
|
|
144
gnu/packages/patches/wmfire-update-for-new-gdk-versions.patch
Normal file
144
gnu/packages/patches/wmfire-update-for-new-gdk-versions.patch
Normal file
|
@ -0,0 +1,144 @@
|
|||
This patch comes from Debian and was modified by Kei Kebreau <kei@openmailbox.org>.
|
||||
Link: https://anonscm.debian.org/cgit/pkg-wmaker/wmfire.git/plain/debian/patches/gdk_updates.patch?h=debian/1.2.4-2&id=a272234fc5eecdbfc469adb12133196bc62f3059
|
||||
|
||||
Description: Update for newer versions of GDK.
|
||||
In particular, the icon window was not receiving enter and leave events from
|
||||
the pointer. To fix this, we get rid of the second GdkWindow iconwin entirely
|
||||
and set win to be its own icon.
|
||||
.
|
||||
This also removes the need for the "broken window manager" fix, so we remove it
|
||||
and all references to it.
|
||||
Author: Doug Torrance <dtorrance@piedmont.edu>
|
||||
|
||||
diff -ur wmfire-1.2.4.old/src/wmfire.c wmfire-1.2.4/src/wmfire.c
|
||||
--- wmfire-1.2.4.old/src/wmfire.c 2017-04-23 14:26:58.449487117 -0400
|
||||
+++ wmfire-1.2.4/src/wmfire.c 2017-04-23 14:32:10.785238671 -0400
|
||||
@@ -77,7 +77,6 @@
|
||||
typedef struct {
|
||||
Display *display; /* X11 display */
|
||||
GdkWindow *win; /* Main window */
|
||||
- GdkWindow *iconwin; /* Icon window */
|
||||
GdkGC *gc; /* Drawing GC */
|
||||
GdkPixmap *pixmap; /* Main pixmap */
|
||||
GdkBitmap *mask; /* Dockapp mask */
|
||||
@@ -141,7 +140,6 @@
|
||||
int cmap = 0;
|
||||
int lock = 0;
|
||||
int proximity = 0;
|
||||
-int broken_wm = 0;
|
||||
|
||||
/******************************************/
|
||||
/* Main */
|
||||
@@ -262,12 +260,8 @@
|
||||
usleep(REFRESH);
|
||||
|
||||
/* Draw the rgb buffer to screen */
|
||||
- if (!broken_wm)
|
||||
- gdk_draw_rgb_image(bm.iconwin, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
|
||||
- else
|
||||
- gdk_draw_rgb_image(bm.win, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
|
||||
+ gdk_draw_rgb_image(bm.win, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
|
||||
}
|
||||
-
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -556,9 +550,7 @@
|
||||
#define MASK GDK_BUTTON_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_HINT_MASK
|
||||
|
||||
GdkWindowAttr attr;
|
||||
- GdkWindowAttr attri;
|
||||
Window win;
|
||||
- Window iconwin;
|
||||
|
||||
GdkPixmap *icon;
|
||||
|
||||
@@ -578,10 +570,6 @@
|
||||
attr.wmclass_class = "wmfire";
|
||||
attr.window_type = GDK_WINDOW_TOPLEVEL;
|
||||
|
||||
- /* Make a copy for the iconwin - parameters are the same */
|
||||
- memcpy(&attri, &attr, sizeof (GdkWindowAttr));
|
||||
- attri.window_type = GDK_WINDOW_CHILD;
|
||||
-
|
||||
sizehints.flags = USSize;
|
||||
sizehints.width = 64;
|
||||
sizehints.height = 64;
|
||||
@@ -592,18 +580,11 @@
|
||||
exit(1);
|
||||
}
|
||||
|
||||
- bm.iconwin = gdk_window_new(bm.win, &attri, GDK_WA_TITLE | GDK_WA_WMCLASS);
|
||||
- if (!bm.iconwin) {
|
||||
- fprintf(stderr, "FATAL: Cannot make icon window\n");
|
||||
- exit(1);
|
||||
- }
|
||||
-
|
||||
win = GDK_WINDOW_XWINDOW(bm.win);
|
||||
- iconwin = GDK_WINDOW_XWINDOW(bm.iconwin);
|
||||
XSetWMNormalHints(GDK_WINDOW_XDISPLAY(bm.win), win, &sizehints);
|
||||
|
||||
wmhints.initial_state = WithdrawnState;
|
||||
- wmhints.icon_window = iconwin;
|
||||
+ wmhints.icon_window = win;
|
||||
wmhints.icon_x = 0;
|
||||
wmhints.icon_y = 0;
|
||||
wmhints.window_group = win;
|
||||
@@ -613,10 +594,8 @@
|
||||
|
||||
bm.pixmap = gdk_pixmap_create_from_xpm_d(bm.win, &(bm.mask), NULL, master_xpm);
|
||||
gdk_window_shape_combine_mask(bm.win, bm.mask, 0, 0);
|
||||
- gdk_window_shape_combine_mask(bm.iconwin, bm.mask, 0, 0);
|
||||
|
||||
gdk_window_set_back_pixmap(bm.win, bm.pixmap, False);
|
||||
- gdk_window_set_back_pixmap(bm.iconwin, bm.pixmap, False);
|
||||
|
||||
#if 0
|
||||
gdk_window_set_type_hint(bm.win, GDK_WINDOW_TYPE_HINT_DOCK);
|
||||
@@ -626,7 +605,6 @@
|
||||
#endif
|
||||
|
||||
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);
|
||||
|
||||
@@ -721,9 +699,6 @@
|
||||
case 'l':
|
||||
lock = 1;
|
||||
break;
|
||||
- case 'b':
|
||||
- broken_wm = 1;
|
||||
- break;
|
||||
case 'h':
|
||||
default:
|
||||
do_help();
|
||||
@@ -766,6 +741,5 @@
|
||||
for (i = 0; i < NFLAMES; i++)
|
||||
fprintf(stderr, "%d:%s ", i + 1, fire[i].text);
|
||||
fprintf(stderr, "\n\t-l\t\t\tlock flame colour and monitor\n");
|
||||
- fprintf(stderr, "\t-b\t\t\tactivate broken window manager fix\n");
|
||||
fprintf(stderr, "\t-h\t\t\tprints this help\n");
|
||||
}
|
||||
Only in wmfire-1.2.4/src: wmfire.c~
|
||||
diff -ur wmfire-1.2.4.old/wmfire.1 wmfire-1.2.4/wmfire.1
|
||||
--- wmfire-1.2.4.old/wmfire.1 2017-04-23 14:26:58.449487117 -0400
|
||||
+++ wmfire-1.2.4/wmfire.1 2017-04-23 14:41:20.697186114 -0400
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B wmfire
|
||||
-[-b]
|
||||
[-c CPU]
|
||||
[-f COLOUR]
|
||||
[-F FILE]
|
||||
@@ -54,9 +53,6 @@
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
-.B -b
|
||||
-Activate broken window manager fix (if grey box diplayed)
|
||||
-.TP
|
||||
.B -c [0..3]
|
||||
.br
|
||||
Monitor SMP CPU number X
|
Loading…
Reference in a new issue