diff options
-rw-r--r-- | src/Xmobar/Plugins/StdinReader.hs | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/Xmobar/Plugins/StdinReader.hs b/src/Xmobar/Plugins/StdinReader.hs index ad7291e..bc4bb5f 100644 --- a/src/Xmobar/Plugins/StdinReader.hs +++ b/src/Xmobar/Plugins/StdinReader.hs @@ -22,21 +22,16 @@ 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 `onSomeException` - (\e -> do - let errorMessage = "xmobar: Received exception " <> show e - hPrint stderr errorMessage - cb errorMessage) + s <- handle (\(SomeException e) -> do hPrint stderr e; return "") getLine cb $ escape stdinReader s eof <- isEOF if eof |