all repos — dmenu @ 65be875f5adf31e9c4762ac8a8d74b1dfdd78584

my build of dmenu

Prepared 4.9 release.
Anselm R Garbe anselm@garbe.ca
Sat, 02 Feb 2019 04:54:15 -0800
commit

65be875f5adf31e9c4762ac8a8d74b1dfdd78584

parent

7d19b2055d98e5c0249efe582c852b8b8b30cd41

3 files changed, 18 insertions(+), 4 deletions(-)

jump to
M LICENSELICENSE

@@ -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 @@ © 2009 Gottox <gottox@s01.de>

© 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.mkconfig.mk

@@ -1,5 +1,5 @@

# dmenu version -VERSION = 4.8 +VERSION = 4.9 # paths PREFIX = /usr/local
M drw.cdrw.c

@@ -132,6 +132,19 @@ } else {

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 @@ size_t i;

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 @@

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);