Thank you for reply.
> You can't. It uses pango to draw text, and pango only understand UTF-8.
> If you try a non-UTF-8 encoding, it will try to convert, but somehow on
> your system, it fails.
I edited draw_iso2utf8() (in draw.c) to print client name(before conversion)
for debugging.
And it seemed to be already converted in UTF-8.
It seem no need to convert to UTF-8 at least on my system(Debian sid).
I applied this patch to skip iconv(), and client names are displayed at
statusbar.
--- awesome-3.2-rc2-orig/draw.c 2009-02-13 21:56:38.000000000 +0900
+++ awesome-3.2-rc2/draw.c 2009-02-19 23:39:21.000000000 +0900
@@ -46,6 +46,7 @@
bool
draw_iso2utf8(const char *iso, size_t len, char **dest, ssize_t *dlen)
{
+ return false;
static iconv_t iso2utf8 = (iconv_t) -1;
static int8_t dont_need_convert = -1;
I dont know about pango, so Im not sure this is correct.
Sorry if I misunderstand.
Another patch to display ASCII encoded name on non-UTF-8 environment:
--- awesome-3.2-rc2-orig/property.c 2009-02-13 21:56:38.000000000 +0900
+++ awesome-3.2-rc2/property.c 2009-02-19 23:33:25.000000000 +0900
@@ -217,8 +217,10 @@
p_delete(&c->name);
/* if no conversion needed, just point to name */
- if(draw_iso2utf8(name, len, &utf8, NULL))
+ if(draw_iso2utf8(name, len, &utf8, NULL)) {
+ c->name = utf8;
p_delete(&name);
+ }
else
c->name = name;
@@ -242,8 +244,10 @@
p_delete(&c->icon_name);
- if(draw_iso2utf8(name, len, &utf8, NULL))
+ if(draw_iso2utf8(name, len, &utf8, NULL)){
+ c->icon_name = utf8;
p_delete(&name);
+ }
else
c->icon_name = name;
Thank you.
-- sakuma ryo
--
To unsubscribe, send mail to [email protected].