~metalune/dmenu

65be875f5adf31e9c4762ac8a8d74b1dfdd78584 — Anselm R Garbe 2 years ago 7d19b20
Prepared 4.9 release.
3 files changed, 18 insertions(+), 4 deletions(-)

M LICENSE
M config.mk
M drw.c
M LICENSE => LICENSE +2 -2
@@ 1,6 1,6 @@
MIT/X Consortium License

© 2006-2014 Anselm R Garbe <anselm@garbe.us>
© 2006-2019 Anselm R Garbe <anselm@garbe.ca>
© 2006-2008 Sander van Dijk <a.h.vandijk@gmail.com>
© 2006-2007 Michał Janeczek <janeczek@gmail.com>
© 2007 Kris Maglione <jg@suckless.org>


@@ 8,7 8,7 @@ MIT/X Consortium License
© 2009 Markus Schnalke <meillo@marmaro.de>
© 2009 Evan Gates <evan.gates@gmail.com>
© 2010-2012 Connor Lane Smith <cls@lubutu.com>
© 2014-2018 Hiltjo Posthuma <hiltjo@codemadness.org>
© 2014-2019 Hiltjo Posthuma <hiltjo@codemadness.org>
© 2015-2018 Quentin Rameau <quinq@fifth.space>

Permission is hereby granted, free of charge, to any person obtaining a

M config.mk => config.mk +1 -1
@@ 1,5 1,5 @@
# dmenu version
VERSION = 4.8
VERSION = 4.9

# paths
PREFIX = /usr/local

M drw.c => drw.c +15 -1
@@ 132,6 132,19 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern)
		die("no font specified.");
	}

	/* Do not allow using color fonts. This is a workaround for a BadLength
	 * error from Xft with color glyphs. Modelled on the Xterm workaround. See
	 * https://bugzilla.redhat.com/show_bug.cgi?id=1498269
	 * https://lists.suckless.org/dev/1701/30932.html
	 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349
	 * and lots more all over the internet.
	 */
	FcBool iscol;
	if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) {
		XftFontClose(drw->dpy, xfont);
		return NULL;
	}

	font = ecalloc(1, sizeof(Fnt));
	font->xfont = xfont;
	font->pattern = pattern;


@@ 200,7 213,7 @@ drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount)
	Clr *ret;

	/* need at least two colors for a scheme */
	if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(Clr))))
	if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor))))
		return NULL;

	for (i = 0; i < clrcount; i++)


@@ 337,6 350,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp
			fcpattern = FcPatternDuplicate(drw->fonts->pattern);
			FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset);
			FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue);
			FcPatternAddBool(fcpattern, FC_COLOR, FcFalse);

			FcConfigSubstitute(NULL, fcpattern, FcMatchPattern);
			FcDefaultSubstitute(fcpattern);