summaryrefslogtreecommitdiffstats
path: root/src/Graphics/X11/Xlib/Display/Extra.hs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2023-02-07 02:05:27 +0100
committertv <tv@krebsco.de>2023-02-07 02:05:27 +0100
commit3bd9c00812d91ade512e71a9f8e0f5b8917c3fa7 (patch)
tree381d87594d44a5439b4140f1e74d968fca9098bd /src/Graphics/X11/Xlib/Display/Extra.hs
parent84a56482858d169769490421e3642e7c2c9d542a (diff)
move atoms to Graphics.X11.Xlib.Atom.Extra
Diffstat (limited to 'src/Graphics/X11/Xlib/Display/Extra.hs')
-rw-r--r--src/Graphics/X11/Xlib/Display/Extra.hs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Graphics/X11/Xlib/Display/Extra.hs b/src/Graphics/X11/Xlib/Display/Extra.hs
new file mode 100644
index 0000000..16b1a74
--- /dev/null
+++ b/src/Graphics/X11/Xlib/Display/Extra.hs
@@ -0,0 +1,20 @@
+module Graphics.X11.Xlib.Display.Extra where
+
+import Control.Exception (bracket)
+import System.Environment (getEnv)
+import System.IO.Unsafe (unsafePerformIO)
+import Graphics.X11.Xlib.Types (Display)
+import Graphics.X11.Xlib.Display (closeDisplay, openDisplay)
+
+
+defaultDisplayName :: String
+defaultDisplayName =
+ unsafePerformIO (getEnv "DISPLAY")
+
+withDisplay :: String -> (Display -> IO a) -> IO a
+withDisplay display =
+ bracket (openDisplay display) closeDisplay
+
+withDefaultDisplay :: (Display -> IO a) -> IO a
+withDefaultDisplay =
+ withDisplay defaultDisplayName