From 9ec24b63a0fdd34a33d88a3b8d9895f6a21d9ca6 Mon Sep 17 00:00:00 2001 From: ndwarshuis Date: Mon, 2 Jan 2023 12:33:37 -0500 Subject: [PATCH] ENH use rio in (one) interactive command --- bin/xmonad.hs | 12 ++++++------ lib/XMonad/Internal/DBus/Screensaver.hs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bin/xmonad.hs b/bin/xmonad.hs index 2380e6d..e831bbd 100644 --- a/bin/xmonad.hs +++ b/bin/xmonad.hs @@ -123,7 +123,7 @@ run = do dws <- startDynWorkspaces fs runIO <- askRunInIO let cleanup = runCleanup runIO toClean db - kbs <- filterExternal <$> evalExternal (fsKeys fs cleanup db) + kbs <- filterExternal <$> evalExternal (fsKeys fs runIO cleanup db) sk <- evalAlways $ fsShowKeys fs ha <- evalAlways $ fsACPIHandler fs tt <- evalAlways $ fsTabbedTheme fs @@ -171,7 +171,7 @@ getCreateDirectories = do _ -> return () data FeatureSet = FeatureSet - { fsKeys :: X () -> DBusState -> [KeyGroup FeatureX] + { fsKeys :: (XIO () -> IO ()) -> X () -> DBusState -> [KeyGroup FeatureX] , fsDBusExporters :: [Maybe SesClient -> Sometimes (XIO (), XIO ())] , fsPowerMon :: SometimesIO , fsRemovableMon :: Maybe SysClient -> SometimesIO @@ -262,7 +262,7 @@ printDeps = withDBus_ $ \db -> do let mockCleanup = runCleanup runIO mockClean db let bfs = concatMap (fmap kbMaybeAction . kgBindings) $ - externalBindings mockCleanup db + externalBindings runIO mockCleanup db let dbus = fmap (\f -> f $ dbSesClient db) dbusExporters :: [Sometimes (XIO (), XIO ())] @@ -794,8 +794,8 @@ filterExternal = fmap go ] } -externalBindings :: X () -> DBusState -> [KeyGroup FeatureX] -externalBindings cleanup db = +externalBindings :: (XIO () -> IO ()) -> X () -> DBusState -> [KeyGroup FeatureX] +externalBindings runIO cleanup db = [ KeyGroup "Launchers" [ KeyBinding "" "select/launch app" $ Left runAppMenu @@ -860,7 +860,7 @@ externalBindings cleanup db = , KeyBinding "M-" "select autorandr profile" $ Left runAutorandrMenu , KeyBinding "M-" "toggle ethernet" $ Left runToggleEthernet , KeyBinding "M-" "toggle bluetooth" $ Left $ runToggleBluetooth sys - , KeyBinding "M-" "toggle screensaver" $ Left $ callToggle ses + , KeyBinding "M-" "toggle screensaver" $ Left $ (liftIO . runIO) <$> callToggle ses , KeyBinding "M-" "switch gpu" $ Left runOptimusPrompt ] ] diff --git a/lib/XMonad/Internal/DBus/Screensaver.hs b/lib/XMonad/Internal/DBus/Screensaver.hs index bb72129..96e1ca8 100644 --- a/lib/XMonad/Internal/DBus/Screensaver.hs +++ b/lib/XMonad/Internal/DBus/Screensaver.hs @@ -124,7 +124,7 @@ exportScreensaver ses = bus = Bus [] xmonadBusName ssx = DBusIO $ sysExe [Package Official "xorg-xset"] ssExecutable -callToggle :: Maybe SesClient -> SometimesX +callToggle :: MonadUnliftIO m => Maybe SesClient -> Sometimes (m ()) callToggle = sometimesEndpoint "screensaver toggle"