content: ----------------------------------------------------------------------------
  -- |
  -- Module      :  XMonad.Util.Cursor
  -- Copyright   :  (c) 2009 Collabora Ltd
  -- License     :  BSD-style (see xmonad/LICENSE)
  --
  -- Maintainer  :  Andres Salomon <dilinger@collabora.co.uk>
  -- Stability   :  unstable
  -- Portability :  unportable
  --
  -- A module for setting the default mouse cursor.
  --
  -- Some ideas shamelessly stolen from Nils Schweinsberg; thanks!
  -----------------------------------------------------------------------------
  
  module XMonad.Util.Cursor
      ( -- * Usage:
        -- $usage
        module Graphics.X11.Xlib.Cursor,
        setDefaultCursor
      ) where
  
  import Graphics.X11.Xlib.Cursor
  import XMonad
  
  -- $usage
  --
  -- >   setDefaultCursor xC_left_ptr
  --
  --   For example, to override the default gnome cursor:
  --
  -- >   import XMonad.Util.Cursor
  -- >   main = xmonad gnomeConfig { startupHook = setDefaultCursor xC_pirate }
  --
  --   Arrr!
  
  -- | Set the default (root) cursor
  setDefaultCursor :: Glyph -> X ()
  setDefaultCursor glyph = do
      dpy <- asks display
      rootw <- asks theRoot
      liftIO $ do
          curs <- createFontCursor dpy glyph
          defineCursor dpy rootw curs
          flush dpy
          freeCursor dpy curs
  