ENH use dbus bracket for xmobar
This commit is contained in:
parent
a997cac7a3
commit
3b8c6b0f4f
|
@ -50,10 +50,8 @@ parse ["--test"] = void $ withCache . evalConfig =<< connectDBus
|
||||||
parse _ = usage
|
parse _ = usage
|
||||||
|
|
||||||
run :: IO ()
|
run :: IO ()
|
||||||
run = withCache $ do
|
run = withCache $ withDBus_ $ \db -> do
|
||||||
db <- connectDBus
|
|
||||||
c <- evalConfig db
|
c <- evalConfig db
|
||||||
disconnectDBus db
|
|
||||||
liftIO $ do
|
liftIO $ do
|
||||||
-- this is needed to see any printed messages
|
-- this is needed to see any printed messages
|
||||||
hFlush stdout
|
hFlush stdout
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
module XMonad.Internal.DBus.Control
|
module XMonad.Internal.DBus.Control
|
||||||
( Client
|
( Client
|
||||||
, DBusState (..)
|
, DBusState (..)
|
||||||
|
, withDBus
|
||||||
|
, withDBus_
|
||||||
, connectDBus
|
, connectDBus
|
||||||
, connectDBusX
|
, connectDBusX
|
||||||
, disconnectDBus
|
, disconnectDBus
|
||||||
|
@ -34,6 +36,12 @@ data DBusState = DBusState
|
||||||
, dbSysClient :: Maybe SysClient
|
, dbSysClient :: Maybe SysClient
|
||||||
}
|
}
|
||||||
|
|
||||||
|
withDBus_ :: MonadUnliftIO m => (DBusState -> m a) -> m ()
|
||||||
|
withDBus_ = void . withDBus
|
||||||
|
|
||||||
|
withDBus :: MonadUnliftIO m => (DBusState -> m a) -> m a
|
||||||
|
withDBus = bracket connectDBus disconnectDBus
|
||||||
|
|
||||||
-- | Connect to the DBus
|
-- | Connect to the DBus
|
||||||
connectDBus :: MonadUnliftIO m => m DBusState
|
connectDBus :: MonadUnliftIO m => m DBusState
|
||||||
connectDBus = do
|
connectDBus = do
|
||||||
|
|
Loading…
Reference in New Issue