tAdd umlaut support for title change. - st - [fork] customized build of st, the… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit efaf1c2a94ed9193c04c3a67f374d31f988b0e9a | |
parent 1b6c6535c10172facb350f4b8fef442f7f8ddc5a | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sat, 23 Feb 2013 21:20:21 +0100 | |
Add umlaut support for title change. | |
Thanks Alexander Sedov <[email protected]>! | |
Diffstat: | |
M TODO | 1 - | |
M st.c | 23 ++++++++++++----------- | |
2 files changed, 12 insertions(+), 12 deletions(-) | |
--- | |
diff --git a/TODO b/TODO | |
t@@ -18,7 +18,6 @@ bugs | |
* fix shift up/down (shift selection in emacs) | |
* fix selection paste for xatom STRING | |
-* fix umlaut handling in settitle | |
* fix rows and column definition in fixed geometry | |
* fix -e handling | |
* remove DEC test sequence when appropriate | |
diff --git a/st.c b/st.c | |
t@@ -1861,12 +1861,9 @@ csireset(void) { | |
void | |
strhandle(void) { | |
char *p = NULL; | |
- int i, j; | |
- int narg; | |
+ int i, j, narg; | |
+ XTextProperty prop; | |
- /* | |
- * TODO: make this being useful in case of color palette change. | |
- */ | |
strparse(); | |
narg = strescseq.narg; | |
t@@ -1876,11 +1873,12 @@ strhandle(void) { | |
case 0: | |
case 1: | |
case 2: | |
- /* | |
- * TODO: Handle special chars in string, like umlauts. | |
- */ | |
- if(narg > 1) | |
- XStoreName(xw.dpy, xw.win, strescseq.args[2]); | |
+ if(narg > 1) { | |
+ p += 2; | |
+ Xutf8TextListToTextProperty(xw.dpy, &p, 1, | |
+ XUTF8StringStyle, &prop); | |
+ XSetWMName(xw.dpy, xw.win, &prop); | |
+ } | |
break; | |
case 4: /* color set */ | |
if(narg < 3) | |
t@@ -1902,7 +1900,10 @@ strhandle(void) { | |
} | |
break; | |
case 'k': /* old title set compatibility */ | |
- XStoreName(xw.dpy, xw.win, strescseq.buf); | |
+ p += 1; | |
+ Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, | |
+ &prop); | |
+ XSetWMName(xw.dpy, xw.win, &prop); | |
break; | |
case 'P': /* DSC -- Device Control String */ | |
case '_': /* APC -- Application Program Command */ |