aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE4
-rw-r--r--config.mk2
-rw-r--r--drw.c16
3 files changed, 18 insertions, 4 deletions
diff --git a/LICENSE b/LICENSE
index d0c6d64..6ed8ad3 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
1MIT/X Consortium License 1MIT/X Consortium License
2 2
3© 2006-2014 Anselm R Garbe <anselm@garbe.us> 3© 2006-2019 Anselm R Garbe <anselm@garbe.ca>
4© 2006-2008 Sander van Dijk <a.h.vandijk@gmail.com> 4© 2006-2008 Sander van Dijk <a.h.vandijk@gmail.com>
5© 2006-2007 Michał Janeczek <janeczek@gmail.com> 5© 2006-2007 Michał Janeczek <janeczek@gmail.com>
6© 2007 Kris Maglione <jg@suckless.org> 6© 2007 Kris Maglione <jg@suckless.org>
@@ -8,7 +8,7 @@ MIT/X Consortium License
8© 2009 Markus Schnalke <meillo@marmaro.de> 8© 2009 Markus Schnalke <meillo@marmaro.de>
9© 2009 Evan Gates <evan.gates@gmail.com> 9© 2009 Evan Gates <evan.gates@gmail.com>
10© 2010-2012 Connor Lane Smith <cls@lubutu.com> 10© 2010-2012 Connor Lane Smith <cls@lubutu.com>
11© 2014-2018 Hiltjo Posthuma <hiltjo@codemadness.org> 11© 2014-2019 Hiltjo Posthuma <hiltjo@codemadness.org>
12© 2015-2018 Quentin Rameau <quinq@fifth.space> 12© 2015-2018 Quentin Rameau <quinq@fifth.space>
13 13
14Permission is hereby granted, free of charge, to any person obtaining a 14Permission is hereby granted, free of charge, to any person obtaining a
diff --git a/config.mk b/config.mk
index ae34ad8..0929b4a 100644
--- a/config.mk
+++ b/config.mk
@@ -1,5 +1,5 @@
1# dmenu version 1# dmenu version
2VERSION = 4.8 2VERSION = 4.9
3 3
4# paths 4# paths
5PREFIX = /usr/local 5PREFIX = /usr/local
diff --git a/drw.c b/drw.c
index c638323..8fd1ca4 100644
--- a/drw.c
+++ b/drw.c
@@ -132,6 +132,19 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern)
132 die("no font specified."); 132 die("no font specified.");
133 } 133 }
134 134
135 /* Do not allow using color fonts. This is a workaround for a BadLength
136 * error from Xft with color glyphs. Modelled on the Xterm workaround. See
137 * https://bugzilla.redhat.com/show_bug.cgi?id=1498269
138 * https://lists.suckless.org/dev/1701/30932.html
139 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349
140 * and lots more all over the internet.
141 */
142 FcBool iscol;
143 if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) {
144 XftFontClose(drw->dpy, xfont);
145 return NULL;
146 }
147
135 font = ecalloc(1, sizeof(Fnt)); 148 font = ecalloc(1, sizeof(Fnt));
136 font->xfont = xfont; 149 font->xfont = xfont;
137 font->pattern = pattern; 150 font->pattern = pattern;
@@ -200,7 +213,7 @@ drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount)
200 Clr *ret; 213 Clr *ret;
201 214
202 /* need at least two colors for a scheme */ 215 /* need at least two colors for a scheme */
203 if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(Clr)))) 216 if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor))))
204 return NULL; 217 return NULL;
205 218
206 for (i = 0; i < clrcount; i++) 219 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
337 fcpattern = FcPatternDuplicate(drw->fonts->pattern); 350 fcpattern = FcPatternDuplicate(drw->fonts->pattern);
338 FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset); 351 FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset);
339 FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue); 352 FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue);
353 FcPatternAddBool(fcpattern, FC_COLOR, FcFalse);
340 354
341 FcConfigSubstitute(NULL, fcpattern, FcMatchPattern); 355 FcConfigSubstitute(NULL, fcpattern, FcMatchPattern);
342 FcDefaultSubstitute(fcpattern); 356 FcDefaultSubstitute(fcpattern);