summaryrefslogtreecommitdiffstats
path: root/lib/Graphics/X11/Xlib/Display/Extra.hs
blob: 16b1a74de9c43db87bc8ec3a89b94187de4fefc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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