diff --git a/CHANGES.md b/CHANGES.md index 222ae1f6..fbb40d21 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -119,6 +119,11 @@ Added `compgenDirectories` and `compgenFiles` to get the directory/filename completion matches returned by the compgen shell builtin. + * `XMonad.Prompt.Unicode` + + Reworked internally to be call `spawnPipe` (asynchronous) instead of + `runProcessWithInput` (synchronous), which fixes `typeUnicodePrompt`. + * `XMonad.Hooks.DynamicLog` Added `statusBar'` function, like existing `statusBar` but accepts a pretty diff --git a/XMonad/Prompt/Unicode.hs b/XMonad/Prompt/Unicode.hs index a76f90b1..f5ad83e4 100644 --- a/XMonad/Prompt/Unicode.hs +++ b/XMonad/Prompt/Unicode.hs @@ -112,8 +112,10 @@ mkUnicodePrompt prog args unicodeDataFilename config = let m = searchUnicode entries s return . map (\(c,d) -> printf "%s %s" [c] d) $ take 20 m paste [] = return () - paste (c:_) = do - runProcessWithInput prog args [c] + paste (c:_) = liftIO $ do + handle <- spawnPipe $ unwords $ prog : args + hPutChar handle c + hClose handle return () -- | Prompt the user for a Unicode character to be inserted into the paste buffer of the X server.