Caractères Unicode dans la barre d'état uxterm et dwm

Je voudrais afficher les caractères chinois dans la barre d'état de dwm. Plus spécifiquement, je voudrais que les symboles représentent les différentes labels dans dwm. En utilisant un convertisseur en ligne, j'ai trouvé que la représentation unicode pour les symboles que je veux est:

憤怒 unicode: 憤怒 

Mettre les caractères unicode directement dans mon config.h ne fonctionne pas, ils ne s'affichent même pas dans vim . Mes parameters régionaux sont définis sur ISO-8859-1 et j'utilise la police Liberation Mono pour dwm.

Que puis-je faire pour get ces symboles là-haut?

EDIT Suite aux instructions de Mat et au patching dwm, la command patch se bloque. strace cours d'exécution:

 [max@prometheus dwm-6.0]$ strace patch -Np1 ../dwm-pango/dwm-pango/dwm-6.0-pango.patch execve("/usr/bin/patch", ["patch", "-Np1", "../dwm-pango/dwm-pango/dwm-6.0-p"...], [/* 30 vars */]) = 0 brk(0) = 0x1d52000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9dc4713000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=92801, ...}) = 0 mmap(NULL, 92801, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9dc46fc000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\25\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1983446, ...}) = 0 mmap(NULL, 3804112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9dc4152000 mprotect(0x7f9dc42e9000, 2097152, PROT_NONE) = 0 mmap(0x7f9dc44e9000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x197000) = 0x7f9dc44e9000 mmap(0x7f9dc44ef000, 15312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9dc44ef000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9dc46fb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9dc46fa000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9dc46f9000 arch_prctl(ARCH_SET_FS, 0x7f9dc46fa700) = 0 mprotect(0x7f9dc44e9000, 16384, PROT_READ) = 0 mprotect(0x61a000, 4096, PROT_READ) = 0 mprotect(0x7f9dc4714000, 4096, PROT_READ) = 0 munmap(0x7f9dc46fc000, 92801) = 0 brk(0) = 0x1d52000 brk(0x1d75000) = 0x1d75000 getpid() = 10412 lstat("/tmp/po8GP02f", 0x7fffdc075210) = -1 ENOENT (No such file or directory) lstat("/tmp/pikSWXEs", 0x7fffdc075210) = -1 ENOENT (No such file or directory) lstat("/tmp/prB1wVgF", 0x7fffdc075210) = -1 ENOENT (No such file or directory) lstat("/tmp/pp27ATSR", 0x7fffdc075210) = -1 ENOENT (No such file or directory) rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTART, 0x7f9dc4186cb0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGHUP, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGHUP, {0x40cd90, [], SA_RESTORER, 0x7f9dc4186cb0}, NULL, 8) = 0 rt_sigaction(SIGPIPE, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGPIPE, {0x40cd90, [], SA_RESTORER, 0x7f9dc4186cb0}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGTERM, {0x40cd90, [], SA_RESTORER, 0x7f9dc4186cb0}, NULL, 8) = 0 rt_sigaction(SIGXCPU, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGXCPU, {0x40cd90, [], SA_RESTORER, 0x7f9dc4186cb0}, NULL, 8) = 0 rt_sigaction(SIGXFSZ, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGXFSZ, {0x40cd90, [], SA_RESTORER, 0x7f9dc4186cb0}, NULL, 8) = 0 rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGINT, {0x40cd90, [], SA_RESTORER, 0x7f9dc4186cb0}, NULL, 8) = 0 fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0 open("/tmp/pp27ATSR", O_RDWR|O_CREAT|O_EXCL|O_TRUNC, 0600) = 3 fcntl(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9dc4712000 lseek(3, 0, SEEK_CUR) = 0 fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9dc4711000 read(0, 

Pourrais-je manquer quelque chose?

Je ne pense pas que vous obtiendrez le support Unicode de dwm sans le patcher (et en ajoutant des dependencies supplémentaires, notamment pango ).

Si c'est une option pour vous, le package Arch dwm-pango semble fonctionner. (Téléchargez l'archive tar, décompressez-la et corrigez votre dwm avec le file patch – vous n'avez pas besoin d'utiliser Arch. Patch s'applique avec un peu de fuzz au dessus de dwm-0.6 ).

 $ tar xzf dwm-6.0.tar.gz $ tar xzf dwm-pango.tar.gz $ cd dwm-6.0 $ patch -Np1 < ../dwm-pango/dwm-6.0-pango.patch 

Après cela, vous pouvez éditer votre file de configuration et mettre des littéraux unicode ( \u suivi du code unicode en hexadécimal) dans les strings de caractères par exemple.

 /* tagging */ static const char *tags[] = { "\u00c0", "\u61a4\u6012", "\u10e5\u10d0\u10e0", "4", "5", "6", "7", "8", "9" }; 

Le premier élément est à, deux sont vos deux symboles, le troisième est un script géorgien ('cos je pense que ça a l'air cool).

Avec une grande police, cela se traduit par:

entrer la description de l'image ici