summaryrefslogtreecommitdiff
path: root/Presence/ConsoleWriter.hs
diff options
context:
space:
mode:
authorjoe <joe@jerkface.net>2014-03-17 18:15:13 -0400
committerjoe <joe@jerkface.net>2014-03-17 18:15:13 -0400
commit16d246935f4598fbe8e3bee62e36841d45fb073a (patch)
tree0663b39a113bc05af2075391e06aeae04429f4e6 /Presence/ConsoleWriter.hs
parent6dc02043fc6f475d5bc828eb0fe500a81909ad35 (diff)
Added \r to tty writes.
Diffstat (limited to 'Presence/ConsoleWriter.hs')
-rw-r--r--Presence/ConsoleWriter.hs10
1 files changed, 8 insertions, 2 deletions
diff --git a/Presence/ConsoleWriter.hs b/Presence/ConsoleWriter.hs
index e295a72b..2a77394f 100644
--- a/Presence/ConsoleWriter.hs
+++ b/Presence/ConsoleWriter.hs
@@ -237,6 +237,12 @@ deliverGUIMessage cw tty utmp msg = do
237 exitImmediately ExitSuccess 237 exitImmediately ExitSuccess
238 return True 238 return True
239 239
240crlf :: Text -> Text
241crlf t = Text.unlines $ map cr (Text.lines t)
242 where
243 cr t | Text.last t == '\r' = t
244 | otherwise = t <> "\r"
245
240deliverTerminalMessage cw tty utmp msg = do 246deliverTerminalMessage cw tty utmp msg = do
241 mode <- fmap fileMode (getFileStatus $ Text.unpack tty) 247 mode <- fmap fileMode (getFileStatus $ Text.unpack tty)
242 let mesgy = mode .&. 0o020 /= 0 -- verify mode g+w 248 let mesgy = mode .&. 0o020 /= 0 -- verify mode g+w
@@ -245,8 +251,8 @@ deliverTerminalMessage cw tty utmp msg = do
245 t <- messageText msg 251 t <- messageText msg
246 return $ Text.unpack 252 return $ Text.unpack
247 $ case stanzaFrom msg of 253 $ case stanzaFrom msg of
248 Just from -> from <> " says...\n" <> t <> "\n" 254 Just from -> from <> " says...\r\n" <> crlf t <> "\r\n"
249 Nothing -> t <> "\n" 255 Nothing -> crlf t <> "\r\n"
250 writeFile (Text.unpack tty) text 256 writeFile (Text.unpack tty) text
251 return True -- return True if a message was delivered 257 return True -- return True if a message was delivered
252 258