commit efaf1c2a94ed9193c04c3a67f374d31f988b0e9a
parent 1b6c6535c10172facb350f4b8fef442f7f8ddc5a
Author: Christoph Lohmann <20h@r-36.net>
Date: Sat, 23 Feb 2013 21:20:21 +0100
Add umlaut support for title change.
Thanks Alexander Sedov <alex0player@gmail.com>!
Diffstat:
M | TODO | | | 1 | - |
M | st.c | | | 23 | ++++++++++++----------- |
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/TODO b/TODO
@@ -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
@@ -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 */