From fd183f2d7de96fe5561b84c826e05a3ac939dad1 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Fri, 16 Nov 2007 13:42:11 +0100 Subject: Use Xft automatically if available darcs-hash:20071116124211-a5988-2f871dda01cf247852787d9c0d30f85dba73b444.gz --- XMonad/Util/Font.hs | 8 ++++---- xmonad-contrib.cabal | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/XMonad/Util/Font.hs b/XMonad/Util/Font.hs index 53a83f7..12e7fa9 100644 --- a/XMonad/Util/Font.hs +++ b/XMonad/Util/Font.hs @@ -85,7 +85,7 @@ initXMF s = do dpy <- asks display xftdraw <- io $ xftFontOpen dpy (defaultScreenOfDisplay dpy) (drop (length xftPrefix) s) - return (Right xftdraw) + return (Xft xftdraw) else #endif (initCoreFont s >>= (return . Core)) @@ -104,7 +104,7 @@ releaseXMF (Xft xftfont) = do textWidthXMF :: Display -> XMonadFont -> String -> IO Int textWidthXMF _ (Core fs) s = return $ fi $ textWidth fs s #ifdef XFT -textWidthXMF dpy (Right xftdraw) s = do +textWidthXMF dpy (Xft xftdraw) s = do gi <- xftTextExtents dpy xftdraw s return $ xglyphinfo_width gi #endif @@ -112,7 +112,7 @@ textWidthXMF dpy (Right xftdraw) s = do textExtentsXMF :: Display -> XMonadFont -> String -> IO (FontDirection,Int32,Int32,CharStruct) textExtentsXMF _ (Core fs) s = return $ textExtents fs s #ifdef XFT -textExtentsXMF _ (Right xftfont) _ = do +textExtentsXMF _ (Xft xftfont) _ = do ascent <- xftfont_ascent xftfont descent <- xftfont_descent xftfont return (error "Font direction touched", fi ascent, fi descent, error "Font overall size touched") @@ -146,7 +146,7 @@ printStringXMF d p (Core fs) gc fc bc x y s = do io $ drawImageString d p gc x y s #ifdef XFT -printStringXMF dpy drw (Right font) _ fc _ x y s = do +printStringXMF dpy drw (Xft font) _ fc _ x y s = do let screen = defaultScreenOfDisplay dpy; colormap = defaultColormapOfScreen screen; visual = defaultVisualOfScreen screen; diff --git a/xmonad-contrib.cabal b/xmonad-contrib.cabal index d0e933f..38e06b9 100644 --- a/xmonad-contrib.cabal +++ b/xmonad-contrib.cabal @@ -20,13 +20,20 @@ cabal-version: >= 1.2 flag small_base description: Choose the new smaller, split-up base package. +flag use_xft + description: Use Xft to render text + library if flag(small_base) build-depends: base >= 3, containers, directory, process, random else build-depends: base < 3 - build-depends: mtl, unix, X11==1.3.0.20071111, xmonad==0.4, utf8-string, X11-xft + if flag(use_xft) + build-depends: X11-xft + ghc-options: -DXFT + + build-depends: mtl, unix, X11==1.3.0.20071111, xmonad==0.4, utf8-string ghc-options: -Wall -Werror exposed-modules: Documentation XMonad.Actions.Commands -- cgit v1.2.3