diff options
-rw-r--r-- | XMonad/Prompt.hs | 8 | ||||
-rw-r--r-- | XMonad/Util/Font.cpphs | 8 |
2 files changed, 9 insertions, 7 deletions
diff --git a/XMonad/Prompt.hs b/XMonad/Prompt.hs index 8e12f22..f9e3d88 100644 --- a/XMonad/Prompt.hs +++ b/XMonad/Prompt.hs @@ -463,8 +463,8 @@ drawWin = do wh = widthOfScreen scr ht = height c bw = promptBorderWidth c - bgcolor <- io $ initColor d (bgColor c) - border <- io $ initColor d (borderColor c) + Just bgcolor <- io $ initColor d (bgColor c) + Just border <- io $ initColor d (borderColor c) p <- io $ createPixmap d w wh ht (defaultDepthOfScreen scr) io $ fillDrawable d p gc border bgcolor (fi bw) wh ht @@ -569,8 +569,8 @@ drawComplWin w compl = do scr = defaultScreenOfDisplay d bw = promptBorderWidth c gc = gcon st - bgcolor <- io $ initColor d (bgColor c) - border <- io $ initColor d (borderColor c) + Just bgcolor <- io $ initColor d (bgColor c) + Just border <- io $ initColor d (borderColor c) (_,_,wh,ht,xx,yy) <- getComplWinDim compl diff --git a/XMonad/Util/Font.cpphs b/XMonad/Util/Font.cpphs index dd232f1..b6cf2ad 100644 --- a/XMonad/Util/Font.cpphs +++ b/XMonad/Util/Font.cpphs @@ -31,6 +31,8 @@ module XMonad.Util.Font ( import XMonad import Foreign +import Control.Applicative +import Data.Maybe #ifdef XFT import Data.List @@ -49,10 +51,10 @@ data XMonadFont = Core FontStruct -- | Get the Pixel value for a named color: if an invalid name is -- given the black pixel will be returned. -stringToPixel :: MonadIO m => Display -> String -> m Pixel -stringToPixel d s = liftIO $ catch getIt fallBack +stringToPixel :: (Functor m, MonadIO m) => Display -> String -> m Pixel +stringToPixel d s = fromMaybe fallBack <$> liftIO getIt where getIt = initColor d s - fallBack = const $ return $ blackPixel d (defaultScreen d) + fallBack = blackPixel d (defaultScreen d) -- | Given a fontname returns the font structure. If the font name is |