From 2e3254a9080cba309f7112e5f619987d1c887672 Mon Sep 17 00:00:00 2001 From: Tomas Janousek Date: Thu, 3 Feb 2022 11:53:54 +0000 Subject: [PATCH] X.H.Rescreen: Catch exceptions in user-provided hooks in add*Hook This way a single failing hook won't disturb other hooks (not just rescreen hooks, also other event hooks). --- XMonad/Hooks/Rescreen.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/XMonad/Hooks/Rescreen.hs b/XMonad/Hooks/Rescreen.hs index d1586588..bc557d1a 100644 --- a/XMonad/Hooks/Rescreen.hs +++ b/XMonad/Hooks/Rescreen.hs @@ -98,11 +98,11 @@ rescreenHook = XC.once $ \c -> c -- | Shortcut for 'rescreenHook'. addAfterRescreenHook :: X () -> XConfig l -> XConfig l -addAfterRescreenHook h = rescreenHook def{ afterRescreenHook = h } +addAfterRescreenHook h = rescreenHook def{ afterRescreenHook = userCodeDef () h } -- | Shortcut for 'rescreenHook'. addRandrChangeHook :: X () -> XConfig l -> XConfig l -addRandrChangeHook h = rescreenHook def{ randrChangeHook = h } +addRandrChangeHook h = rescreenHook def{ randrChangeHook = userCodeDef () h } -- | Startup hook to listen for @RRScreenChangeNotify@ events. rescreenStartupHook :: X ()