diff options
Diffstat (limited to 'src/Plugins/Monitors/MPD.hs')
-rw-r--r-- | src/Plugins/Monitors/MPD.hs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Plugins/Monitors/MPD.hs b/src/Plugins/Monitors/MPD.hs index 1a49ad3..e02a747 100644 --- a/src/Plugins/Monitors/MPD.hs +++ b/src/Plugins/Monitors/MPD.hs @@ -75,7 +75,7 @@ mpdReady _ = do -- Only cases where MPD isn't responding is an issue; bogus information at -- least won't hold xmobar up. Left M.NoMPD -> return False - Left M.TimedOut -> return False + Left (M.ConnectionError _) -> return False Left _ -> return True mopts :: [String] -> IO MOpts @@ -96,8 +96,12 @@ parseMPD (Right st) song opts = do where s = M.stState st ss = show s si = stateGlyph s opts - vol = int2str $ M.stVolume st - (p, t) = M.stTime st + vol = int2str $ case M.stVolume st of + Just x -> x + Nothing -> 0 + (p, t) = case M.stTime st of + Just x -> x + Nothing -> (0, 0) [lap, len, remain] = map showTime [floor p, t, max 0 (t - floor p)] b = if t > 0 then realToFrac $ p / fromIntegral t else 0 plen = int2str $ M.stPlaylistLength st |