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].

Reply via email to