2020-04-01 22:06:00 -04:00
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- | Common internal DBus functions
|
|
|
|
|
2020-04-01 20:17:47 -04:00
|
|
|
module XMonad.Internal.DBus.Common
|
2021-11-21 16:58:01 -05:00
|
|
|
( addMatchCallback
|
2021-11-20 19:35:24 -05:00
|
|
|
, xmonadBusName
|
2020-04-01 20:17:47 -04:00
|
|
|
) where
|
2020-03-20 20:10:15 -04:00
|
|
|
|
2020-04-01 20:17:47 -04:00
|
|
|
import DBus
|
|
|
|
import DBus.Client
|
|
|
|
|
2021-11-20 19:35:24 -05:00
|
|
|
xmonadBusName :: BusName
|
|
|
|
xmonadBusName = busName_ "org.xmonad"
|
|
|
|
|
2020-04-01 22:06:00 -04:00
|
|
|
-- | Bind a callback to a signal match rule
|
2020-03-20 20:10:15 -04:00
|
|
|
addMatchCallback :: MatchRule -> ([Variant] -> IO ()) -> IO SignalHandler
|
|
|
|
addMatchCallback rule cb = do
|
|
|
|
client <- connectSession
|
2021-06-20 22:27:16 -04:00
|
|
|
addMatch client rule $ cb . signalBody
|