summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/Plugins/Monitors/MPD.hs11
-rw-r--r--xmobar.cabal10
2 files changed, 19 insertions, 2 deletions
diff --git a/src/Plugins/Monitors/MPD.hs b/src/Plugins/Monitors/MPD.hs
index cc40a56..cb3acdf 100644
--- a/src/Plugins/Monitors/MPD.hs
+++ b/src/Plugins/Monitors/MPD.hs
@@ -12,7 +12,7 @@
--
-----------------------------------------------------------------------------
-module Plugins.Monitors.MPD ( mpdConfig, runMPD ) where
+module Plugins.Monitors.MPD ( mpdConfig, runMPD, mpdWait ) where
import Plugins.Monitors.Common
import System.Console.GetOpt
@@ -55,6 +55,15 @@ runMPD args = do
s <- parseMPD status song opts
parseTemplate s
+mpdWait :: IO ()
+mpdWait = M.withMPD idle >> return ()
+ where
+#if defined LIBMPD_07
+ idle = M.idle
+#else
+ idle = M.idle [M.PlayerS, M.MixerS]
+#endif
+
mopts :: [String] -> IO MOpts
mopts argv =
case getOpt Permute options argv of
diff --git a/xmobar.cabal b/xmobar.cabal
index 71ea524..02e618f 100644
--- a/xmobar.cabal
+++ b/xmobar.cabal
@@ -49,6 +49,10 @@ flag with_mpd
description: MPD support. Needs libmpd installed.
default: False
+flag with_mpd_07
+ description: MPD 0.7.* support.
+ default: False
+
flag all_extensions
description: Includes all optional extensions.
default: False
@@ -146,9 +150,13 @@ executable xmobar
cpp-options: -DIWLIB
if flag(with_mpd) || flag(all_extensions)
- build-depends: libmpd == 0.7.*
other-modules: Plugins.Monitors.MPD
cpp-options: -DLIBMPD
+ if flag(with_mpd_07)
+ build-depends: libmpd == 0.7.*
+ cpp-options: -DLIBMPD_07
+ else
+ build-depends: libmpd == 0.8.*
if flag(with_alsa) || flag(all_extensions)
build-depends: alsa-mixer == 0.1.*