[xmonad] spawn functions are not unicode safe

Khudyakov Alexey alexey.skladnoy at gmail.com
Wed Jan 14 17:46:47 EST 2009


There is problem with `spawn' function as well with *spawn family from  
XMonad.Util.Run. They mangle unicode symbols which are passed to them. This 
is because they make use of `executeFile' which silently truncate each letter 
to one byte. 

Simplest workaround is to use utf8-string package. It would work only on 
systems with UTF8 locales but now they are majority I hope. 

> import Codec.Binary.UTF8.String
> -- | Unicode safe spawn
> spawnU :: MonadIO m => String -> m ()
> spawnU = spawn . encodeString

The same possible for all *spawn functions. I think it's worth to include 
unicodified versions to XMonadContrib but not sure is there anyone who need 
such functionality

  Alexey Khudyakov

More information about the xmonad mailing list