commit - 1b6c6535c10172facb350f4b8fef442f7f8ddc5a
commit + efaf1c2a94ed9193c04c3a67f374d31f988b0e9a
blob - 2f427200cc61fe63bbb255d77c5d2b0a1cd97206
blob + 67615f82549b557fed4533a81a8617c206016c23
--- TODO
+++ TODO
* 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
blob - c6a840de4c05ed389f99c20a36a1e6dc343e8d4e
blob + 6117c929df5a053b5114f913574a7f9000f02379
--- st.c
+++ st.c
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;
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)
}
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 */