diff options
author | Christoph Lohmann <20h@r-36.net> | 2013-02-23 21:20:21 +0100 |
---|---|---|
committer | Christoph Lohmann <20h@r-36.net> | 2013-02-23 21:20:21 +0100 |
commit | efaf1c2a94ed9193c04c3a67f374d31f988b0e9a (patch) | |
tree | a672835ffdc469cb2f57146a60b685623c267bc0 | |
parent | 1b6c6535c10172facb350f4b8fef442f7f8ddc5a (diff) | |
download | st-efaf1c2a94ed9193c04c3a67f374d31f988b0e9a.tar.gz st-efaf1c2a94ed9193c04c3a67f374d31f988b0e9a.tar.bz2 st-efaf1c2a94ed9193c04c3a67f374d31f988b0e9a.zip |
Add umlaut support for title change.
Thanks Alexander Sedov <alex0player@gmail.com>!
-rw-r--r-- | TODO | 1 | ||||
-rw-r--r-- | st.c | 23 |
2 files changed, 12 insertions, 12 deletions
@@ -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 @@ -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; @@ -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) @@ -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 */ |