From 22372abaab5ff8acc76548eac63b333e48af26b3 Mon Sep 17 00:00:00 2001
From: iogrt <duarte.dd.dias@gmail.com>
Date: Thu, 16 Nov 2023 20:49:04 +0000
Subject: [PATCH] X.U.Ungrab: Deprecate

---
 CHANGES.md            |  3 +++
 XMonad/Config/Mate.hs | 17 +++++++++--------
 XMonad/Util/Ungrab.hs |  2 +-
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 5e7e4b5e..13e9303b 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -93,6 +93,9 @@
     - The function `readKeySequence` now returns a non-empty list if it
       succeeded.
 
+  * Deprecate `XMonad.Util.Ungrab`; it was moved to `XMonad.Operations`
+    in core.
+
 ### New Modules
 
   * `XMonad.Layout.CenterMainFluid`
diff --git a/XMonad/Config/Mate.hs b/XMonad/Config/Mate.hs
index f0e7de03..91c00faa 100644
--- a/XMonad/Config/Mate.hs
+++ b/XMonad/Config/Mate.hs
@@ -1,5 +1,7 @@
 {-# OPTIONS_GHC -fno-warn-missing-signatures #-}
-
+-- TODO: Remove when we depend on a version of xmonad that has unGrab.
+{-# OPTIONS_GHC -Wno-deprecations  #-}
+{-# OPTIONS_GHC -Wno-dodgy-imports #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module       : XMonad.Config.Mate
@@ -28,15 +30,14 @@ module XMonad.Config.Mate (
     desktopLayoutModifiers
     ) where
 
-import XMonad
-import XMonad.Config.Desktop
-import XMonad.Util.Run (safeSpawn)
-import XMonad.Util.Ungrab
-import XMonad.Prelude (toUpper)
-
+import System.Environment (getEnvironment)
 import qualified Data.Map as M
 
-import System.Environment (getEnvironment)
+import XMonad hiding (unGrab)
+import XMonad.Config.Desktop
+import XMonad.Prelude (toUpper)
+import XMonad.Util.Run (safeSpawn)
+import XMonad.Util.Ungrab (unGrab)
 
 -- $usage
 -- To use this module, start with the following @~\/.xmonad\/xmonad.hs@:
diff --git a/XMonad/Util/Ungrab.hs b/XMonad/Util/Ungrab.hs
index 9a7a35ef..95342599 100644
--- a/XMonad/Util/Ungrab.hs
+++ b/XMonad/Util/Ungrab.hs
@@ -13,7 +13,7 @@
 --
 -----------------------------------------------------------------------------
 
-module XMonad.Util.Ungrab
+module XMonad.Util.Ungrab {-# DEPRECATED "Use XMonad.Operations.unGrab instead" #-}
     ( -- * Usage:
       -- $usage
       unGrab