summaryrefslogtreecommitdiffhomepage
path: root/src/Xmobar/Plugins/StdinReader.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Xmobar/Plugins/StdinReader.hs')
-rw-r--r--src/Xmobar/Plugins/StdinReader.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Xmobar/Plugins/StdinReader.hs b/src/Xmobar/Plugins/StdinReader.hs
index 18958be..ad7291e 100644
--- a/src/Xmobar/Plugins/StdinReader.hs
+++ b/src/Xmobar/Plugins/StdinReader.hs
@@ -22,16 +22,21 @@ import Prelude
import System.Posix.Process
import System.Exit
import System.IO
-import Control.Exception (SomeException(..), handle)
import Xmobar.Run.Exec
import Xmobar.X11.Actions (stripActions)
+import Xmobar.System.Utils (onSomeException)
data StdinReader = StdinReader | UnsafeStdinReader
deriving (Read, Show)
instance Exec StdinReader where
start stdinReader cb = do
- s <- getLine
+ s <-
+ getLine `onSomeException`
+ (\e -> do
+ let errorMessage = "xmobar: Received exception " <> show e
+ hPrint stderr errorMessage
+ cb errorMessage)
cb $ escape stdinReader s
eof <- isEOF
if eof