diff options
author | jao <jao@gnu.org> | 2022-09-12 04:38:47 +0100 |
---|---|---|
committer | jao <jao@gnu.org> | 2022-09-12 04:38:47 +0100 |
commit | 0c13ab7001fea76c8ef06b681b8463471399754b (patch) | |
tree | c39ca060344ab129d772526bba2827b04a0a929f /src/Xmobar/X11/Text.hs | |
parent | 15c373076dec81c3245e42250512dea6a75db5e9 (diff) | |
download | xmobar-0c13ab7001fea76c8ef06b681b8463471399754b.tar.gz xmobar-0c13ab7001fea76c8ef06b681b8463471399754b.tar.bz2 |
X11.MinXft not needed anymore
Diffstat (limited to 'src/Xmobar/X11/Text.hs')
-rw-r--r-- | src/Xmobar/X11/Text.hs | 55 |
1 files changed, 2 insertions, 53 deletions
diff --git a/src/Xmobar/X11/Text.hs b/src/Xmobar/X11/Text.hs index f3c5e05..8de2e7d 100644 --- a/src/Xmobar/X11/Text.hs +++ b/src/Xmobar/X11/Text.hs @@ -23,43 +23,20 @@ module Xmobar.X11.Text ) where import Control.Exception (SomeException, handle) -import Data.List + import Foreign import Graphics.X11.Xlib hiding (textExtents, textWidth) import qualified Graphics.X11.Xlib as Xlib (textExtents, textWidth) import Graphics.X11.Xlib.Extras import System.Mem.Weak ( addFinalizer ) -#ifdef CAIRO -import Xmobar.X11.MinXft -import Graphics.X11.Xrender -#else -import System.IO(hPutStrLn, stderr) -#endif - data XFont = Core FontStruct | Utf8 FontSet -#ifdef CAIRO - | Xft [AXftFont] -#endif -- | When initFont gets a font name that starts with 'xft:' it switchs -- to the Xft backend Example: 'xft:Sans-10' initFont :: Display -> String -> IO XFont -initFont d s = - let xftPrefix = "xft:" in - if xftPrefix `isPrefixOf` s then -#ifdef CAIRO - fmap Xft $ initXftFont d s -#else - do - hPutStrLn stderr $ "Warning: Xmobar must be built with " - ++ "the with_xft flag to support font '" ++ s - ++ ".' Falling back on default." - initFont d miscFixedFont -#endif - else - fmap Utf8 $ initUtf8Font d s +initFont d s = fmap Utf8 $ initUtf8Font d s miscFixedFont :: String miscFixedFont = "-misc-fixed-*-*-*-*-*-*-*-*-*-*-*-*" @@ -86,31 +63,9 @@ initUtf8Font d s = do fallBack :: SomeException -> IO ([String], String, FontSet) fallBack = const $ createFontSet d miscFixedFont -#ifdef CAIRO -initXftFont :: Display -> String -> IO [AXftFont] -initXftFont d s = do - let fontNames = wordsBy (== ',') (drop 4 s) - mapM openFont fontNames - where - openFont fontName = do - f <- openAXftFont d (defaultScreenOfDisplay d) fontName - addFinalizer f (closeAXftFont d f) - return f - wordsBy p str = case dropWhile p str of - "" -> [] - str' -> w : wordsBy p str'' - where - (w, str'') = break p str' -#endif - textWidth :: Display -> XFont -> String -> IO Int textWidth _ (Utf8 fs) s = return $ fromIntegral $ wcTextEscapement fs s textWidth _ (Core fs) s = return $ fromIntegral $ Xlib.textWidth fs s -#ifdef CAIRO -textWidth dpy (Xft xftdraw) s = do - gi <- xftTxtExtents' dpy xftdraw s - return $ xglyphinfo_xOff gi -#endif textExtents :: XFont -> String -> IO (Int32,Int32) textExtents (Core fs) s = do @@ -121,9 +76,3 @@ textExtents (Utf8 fs) s = do ascent = fromIntegral $ negate (rect_y rl) descent = fromIntegral $ rect_height rl + fromIntegral (rect_y rl) return (ascent, descent) -#ifdef CAIRO -textExtents (Xft xftfonts) _ = do - ascent <- fromIntegral `fmap` xft_ascent' xftfonts - descent <- fromIntegral `fmap` xft_descent' xftfonts - return (ascent, descent) -#endif |