* 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
 
 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 */