--- TODO | 1 - st.c | 17 +++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/TODO b/TODO index 2f42720..67615f8 100644 --- a/TODO +++ b/TODO _AT_@ -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 index c25f24c..094e8ca 100644 --- a/st.c +++ b/st.c _AT_@ -352,6 +352,7 @@ static void xloadcols(void); static int xsetcolorname(int, const char *); static int xloadfont(Font *, FcPattern *); static void xloadfonts(char *, int); +static void xsettitle(char *); static void xresettitle(void); static void xseturgency(int); static void xsetsel(char*); _AT_@ -1891,11 +1892,8 @@ 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]); + xsettitle(strescseq.args[2]); break; case 4: /* color set */ if(narg < 3) _AT_@ -1917,7 +1915,7 @@ strhandle(void) { } break; case 'k': /* old title set compatibility */ - XStoreName(xw.dpy, xw.win, strescseq.buf); + xsettitle(strescseq.arg[1]); break; case 'P': /* DSC -- Device Control String */ case '_': /* APC -- Application Program Command */ _AT_@ -2986,8 +2984,15 @@ xdrawcursor(void) { } void +xsettitle(char *p) { + XTextProperty prop; + Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, &prop); + XSetWMName(xw.dpy, xw.win, &prop); +} + +void xresettitle(void) { - XStoreName(xw.dpy, xw.win, opt_title ? opt_title : "st"); + xsettitle(opt_title ? opt_title : "st"); } void -- 1.7.10.4Received on Fri Feb 22 2013 - 16:55:01 CET
This archive was generated by hypermail 2.3.0 : Fri Feb 22 2013 - 17:00:06 CET