XMonadContrib: add a utility module to set the default cursor

This adds XMonad.Util.Cursor, which defines a function that allows setting
the default mouse cursor.  This can be useful for (for example) gnomeConfig,
to ensure that the root cursor is changed from X_cursor to left_ptr.
This commit is contained in:
Andres Salomon
2009-09-15 16:56:04 +00:00
parent 45db2ebfbe
commit 9ac6c9a24d
3 changed files with 45 additions and 0 deletions

View File

@@ -811,6 +811,8 @@ external utilities.
A non complete list with a brief description: A non complete list with a brief description:
* "XMonad.Util.Cursor": configure the default cursor/pointer glyph.
* "XMonad.Util.CustomKeys": configure key bindings (see * "XMonad.Util.CustomKeys": configure key bindings (see
"XMonad.Doc.Extending#Editing_key_bindings"). "XMonad.Doc.Extending#Editing_key_bindings").

42
XMonad/Util/Cursor.hs Normal file
View File

@@ -0,0 +1,42 @@
----------------------------------------------------------------------------
-- |
-- 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

View File

@@ -217,6 +217,7 @@ library
XMonad.Prompt.Window XMonad.Prompt.Window
XMonad.Prompt.Workspace XMonad.Prompt.Workspace
XMonad.Prompt.XMonad XMonad.Prompt.XMonad
XMonad.Util.Cursor
XMonad.Util.CustomKeys XMonad.Util.CustomKeys
XMonad.Util.Dmenu XMonad.Util.Dmenu
XMonad.Util.Dzen XMonad.Util.Dzen