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-urwid-1.3.patch \
|
||||||
%D%/packages/patches/wicd-wpa2-ttls.patch \
|
%D%/packages/patches/wicd-wpa2-ttls.patch \
|
||||||
%D%/packages/patches/wmctrl-64-fix.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/woff2-libbrotli.patch \
|
||||||
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
|
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
|
||||||
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.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 packages)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix licenses)
|
#:use-module (guix licenses)
|
||||||
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
#:use-module (gnu packages gnome)
|
#:use-module (gnu packages gnome)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
|
@ -244,7 +245,9 @@ (define-public wmfire
|
||||||
name "/" name "-" version ".tar.gz"))
|
name "/" name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))))
|
"101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))
|
||||||
|
(patches
|
||||||
|
(search-patches "wmfire-update-for-new-gdk-versions.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("gtk+" ,gtk+-2)
|
`(("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