diff options
| -rw-r--r-- | readme.md | 5 | ||||
| -rw-r--r-- | src/IPC/DBus.hs | 7 | 
2 files changed, 8 insertions, 4 deletions
| @@ -339,6 +339,11 @@ An example using the `dbus-send` command line utility:              org.Xmobar.Control.SendSignal \              "string:Toggle" +It is also possible to send multiple signals at once: +        # send to another screen, reveal and toggle the persistent flag +        dbus-send [..] \ +            "string:ChangeScreen" "string:Reveal" "string:TogglePersistent" +  ## The Output Template diff --git a/src/IPC/DBus.hs b/src/IPC/DBus.hs index 469a7c6..d755220 100644 --- a/src/IPC/DBus.hs +++ b/src/IPC/DBus.hs @@ -18,13 +18,12 @@ import Prelude hiding (catch)  import DBus  import DBus.Client -import Control.Monad (join, when) +import Control.Monad (when)  import Control.Concurrent  import Control.Exception (catch)  import System.IO (stderr, hPutStrLn)  import Signal -import Plugins.Utils (safeHead)  busName :: BusName  busName = busName_ "org.Xmobar.Control" @@ -56,8 +55,8 @@ sendSignalMethod mvst = method interfaceName sendSignalName      sendSignalMethodCall :: MethodCall -> IO Reply      sendSignalMethodCall mc = do -        when ( methodCallMember mc == sendSignalName ) $ sendSignal $ -            join $ safeHead $ map fromVariant $ methodCallBody mc +        when ( methodCallMember mc == sendSignalName ) +             $ mapM_ (sendSignal . fromVariant) (methodCallBody mc)          return ( replyReturn [] )      sendSignal :: Maybe SignalType -> IO () | 
