Prepared 4.9 release. - dmenu - dynamic menu | |
git clone git://git.suckless.org/dmenu | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 65be875f5adf31e9c4762ac8a8d74b1dfdd78584 | |
parent 7d19b2055d98e5c0249efe582c852b8b8b30cd41 | |
Author: Anselm R Garbe <[email protected]> | |
Date: Sat, 2 Feb 2019 04:54:15 -0800 | |
Prepared 4.9 release. | |
Diffstat: | |
M LICENSE | 4 ++-- | |
M config.mk | 2 +- | |
M drw.c | 16 +++++++++++++++- | |
3 files changed, 18 insertions(+), 4 deletions(-) | |
--- | |
diff --git a/LICENSE b/LICENSE | |
@@ -1,6 +1,6 @@ | |
MIT/X Consortium License | |
-© 2006-2014 Anselm R Garbe <[email protected]> | |
+© 2006-2019 Anselm R Garbe <[email protected]> | |
© 2006-2008 Sander van Dijk <[email protected]> | |
© 2006-2007 Michał Janeczek <[email protected]> | |
© 2007 Kris Maglione <[email protected]> | |
@@ -8,7 +8,7 @@ MIT/X Consortium License | |
© 2009 Markus Schnalke <[email protected]> | |
© 2009 Evan Gates <[email protected]> | |
© 2010-2012 Connor Lane Smith <[email protected]> | |
-© 2014-2018 Hiltjo Posthuma <[email protected]> | |
+© 2014-2019 Hiltjo Posthuma <[email protected]> | |
© 2015-2018 Quentin Rameau <[email protected]> | |
Permission is hereby granted, free of charge, to any person obtaining a | |
diff --git a/config.mk b/config.mk | |
@@ -1,5 +1,5 @@ | |
# dmenu version | |
-VERSION = 4.8 | |
+VERSION = 4.9 | |
# paths | |
PREFIX = /usr/local | |
diff --git a/drw.c b/drw.c | |
@@ -132,6 +132,19 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fo… | |
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.… | |
+ * 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) == FcResultMa… | |
+ 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 clr… | |
Clr *ret; | |
/* need at least two colors for a scheme */ | |
- if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, siz… | |
+ if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, siz… | |
return NULL; | |
for (i = 0; i < clrcount; i++) | |
@@ -337,6 +350,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned i… | |
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); |