From 38d2f7ba589e8ee0ee5ded7915952ed094e3a51a Mon Sep 17 00:00:00 2001 From: ZachIR Date: Tue, 8 Jul 2025 20:39:57 -0500 Subject: Start from scratch on version 0.9.2 --- patches/st-netwmicon-0.8.5-v2.diff | 128 ------------------------------------- 1 file changed, 128 deletions(-) delete mode 100644 patches/st-netwmicon-0.8.5-v2.diff (limited to 'patches/st-netwmicon-0.8.5-v2.diff') diff --git a/patches/st-netwmicon-0.8.5-v2.diff b/patches/st-netwmicon-0.8.5-v2.diff deleted file mode 100644 index b02d9df..0000000 --- a/patches/st-netwmicon-0.8.5-v2.diff +++ /dev/null @@ -1,128 +0,0 @@ -From 8b0128e8b295fc97bfa3bc5fb4b5e64856d4e3cb Mon Sep 17 00:00:00 2001 -From: Aleksandrs Stier -Date: Sat, 4 Jun 2022 01:24:07 +0200 -Subject: [PATCH] Set _NET_WM_ICON with a png-image - ---- - Makefile | 3 +++ - config.mk | 6 ++++-- - st.h | 2 ++ - x.c | 37 ++++++++++++++++++++++++++++++++++++- - 4 files changed, 45 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 470ac86..96e27e3 100644 ---- a/Makefile -+++ b/Makefile -@@ -49,9 +49,12 @@ install: st - chmod 644 $(DESTDIR)$(MANPREFIX)/man1/st.1 - tic -sx st.info - @echo Please see the README file regarding the terminfo entry of st. -+ mkdir -p $(DESTDIR)$(ICONPREFIX) -+ [ -f $(ICONNAME) ] && cp -f $(ICONNAME) $(DESTDIR)$(ICONPREFIX) || : - - uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/st - rm -f $(DESTDIR)$(MANPREFIX)/man1/st.1 -+ rm -f $(DESTDIR)$(ICONPREFIX)/$(ICONNAME) - - .PHONY: all options clean dist install uninstall -diff --git a/config.mk b/config.mk -index 4c4c5d5..f8fc780 100644 ---- a/config.mk -+++ b/config.mk -@@ -6,6 +6,8 @@ VERSION = 0.8.5 - # paths - PREFIX = /usr/local - MANPREFIX = $(PREFIX)/share/man -+ICONPREFIX = $(PREFIX)/share/pixmaps -+ICONNAME = st.png - - X11INC = /usr/X11R6/include - X11LIB = /usr/X11R6/lib -@@ -16,12 +18,12 @@ PKG_CONFIG = pkg-config - INCS = -I$(X11INC) \ - `$(PKG_CONFIG) --cflags fontconfig` \ - `$(PKG_CONFIG) --cflags freetype2` --LIBS = -L$(X11LIB) -lm -lrt -lX11 -lutil -lXft \ -+LIBS = -L$(X11LIB) -lm -lrt -lX11 -lutil -lXft -lgd \ - `$(PKG_CONFIG) --libs fontconfig` \ - `$(PKG_CONFIG) --libs freetype2` - - # flags --STCPPFLAGS = -DVERSION=\"$(VERSION)\" -D_XOPEN_SOURCE=600 -+STCPPFLAGS = -DVERSION=\"$(VERSION)\" -DICON=\"$(ICONPREFIX)/$(ICONNAME)\" -D_XOPEN_SOURCE=600 - STCFLAGS = $(INCS) $(STCPPFLAGS) $(CPPFLAGS) $(CFLAGS) - STLDFLAGS = $(LIBS) $(LDFLAGS) - -diff --git a/st.h b/st.h -index 519b9bd..c10af86 100644 ---- a/st.h -+++ b/st.h -@@ -3,6 +3,8 @@ - #include - #include - -+#include -+ - /* macros */ - #define MIN(a, b) ((a) < (b) ? (a) : (b)) - #define MAX(a, b) ((a) < (b) ? (b) : (a)) -diff --git a/x.c b/x.c -index 8a16faa..169e833 100644 ---- a/x.c -+++ b/x.c -@@ -93,7 +93,7 @@ typedef struct { - Window win; - Drawable buf; - GlyphFontSpec *specbuf; /* font spec buffer used for rendering */ -- Atom xembed, wmdeletewin, netwmname, netwmiconname, netwmpid; -+ Atom xembed, wmdeletewin, netwmname, netwmicon, netwmiconname, netwmpid; - struct { - XIM xim; - XIC xic; -@@ -1204,6 +1204,41 @@ xinit(int cols, int rows) - xw.netwmiconname = XInternAtom(xw.dpy, "_NET_WM_ICON_NAME", False); - XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1); - -+ /* use a png-image to set _NET_WM_ICON */ -+ FILE* file = fopen(ICON, "r"); -+ if (file) { -+ /* load image in rgba-format */ -+ const gdImagePtr icon_rgba = gdImageCreateFromPng(file); -+ fclose(file); -+ /* declare icon-variable which will store the image in argb-format */ -+ const int width = gdImageSX(icon_rgba); -+ const int height = gdImageSY(icon_rgba); -+ const int icon_n = width * height + 2; -+ long icon_argb[icon_n]; -+ /* set width and height of the icon */ -+ int i = 0; -+ icon_argb[i++] = width; -+ icon_argb[i++] = height; -+ /* rgba -> argb */ -+ for (int y = 0; y < height; y++) { -+ for (int x = 0; x < width; x++) { -+ const int pixel_rgba = gdImageGetPixel(icon_rgba, x, y); -+ unsigned char *pixel_argb = (unsigned char *) &icon_argb[i++]; -+ pixel_argb[0] = gdImageBlue(icon_rgba, pixel_rgba); -+ pixel_argb[1] = gdImageGreen(icon_rgba, pixel_rgba); -+ pixel_argb[2] = gdImageRed(icon_rgba, pixel_rgba); -+ /* scale alpha from 0-127 to 0-255 */ -+ const unsigned char alpha = 127 - gdImageAlpha(icon_rgba, pixel_rgba); -+ pixel_argb[3] = alpha == 127 ? 255 : alpha * 2; -+ } -+ } -+ gdImageDestroy(icon_rgba); -+ /* set _NET_WM_ICON */ -+ xw.netwmicon = XInternAtom(xw.dpy, "_NET_WM_ICON", False); -+ XChangeProperty(xw.dpy, xw.win, xw.netwmicon, XA_CARDINAL, 32, -+ PropModeReplace, (uchar *) icon_argb, icon_n); -+ } -+ - xw.netwmpid = XInternAtom(xw.dpy, "_NET_WM_PID", False); - XChangeProperty(xw.dpy, xw.win, xw.netwmpid, XA_CARDINAL, 32, - PropModeReplace, (uchar *)&thispid, 1); --- -2.36.1 - -- cgit v1.2.3