diff options
author | Daniel Wagner <daniel@wagner-home.com> | 2011-07-31 19:08:50 +0200 |
---|---|---|
committer | Daniel Wagner <daniel@wagner-home.com> | 2011-07-31 19:08:50 +0200 |
commit | 39f010d82d0292d9417a06abaf91dabb43ea3ef4 (patch) | |
tree | 1c701e3b4781a6460131c9e28e2705d8fb923f64 /XMonad/Util | |
parent | 3eae9324c087da3fae57f2dcd9181eb850f12c1a (diff) | |
download | XMonadContrib-39f010d82d0292d9417a06abaf91dabb43ea3ef4.tar.gz XMonadContrib-39f010d82d0292d9417a06abaf91dabb43ea3ef4.tar.xz XMonadContrib-39f010d82d0292d9417a06abaf91dabb43ea3ef4.zip |
GHC 7 compat
Ignore-this: 17a43a709e70ebccc925e016d7057399
* true error: more modules export foldl/foldl'/foldr, so explicitly use the Data.Foldable one
* -Werror error: transition from Control.OldException to Control.Exception, assuming everything was IOException
darcs-hash:20110731170850-76d51-71271524485f6d10f84521f271182bea5085d400.gz
Diffstat (limited to 'XMonad/Util')
-rw-r--r-- | XMonad/Util/Font.hs | 9 | ||||
-rw-r--r-- | XMonad/Util/Loggers.hs | 7 |
2 files changed, 13 insertions, 3 deletions
diff --git a/XMonad/Util/Font.hs b/XMonad/Util/Font.hs index d05b433..ed09a6d 100644 --- a/XMonad/Util/Font.hs +++ b/XMonad/Util/Font.hs @@ -32,9 +32,11 @@ module XMonad.Util.Font , fi ) where +import Prelude hiding (catch) import XMonad import Foreign import Control.Applicative +import Control.Exception import Data.Maybe #ifdef XFT @@ -60,6 +62,9 @@ stringToPixel d s = fromMaybe fallBack <$> io getIt where getIt = initColor d s fallBack = blackPixel d (defaultScreen d) +econst :: a -> IOException -> a +econst = const + -- | Given a fontname returns the font structure. If the font name is -- not valid the default font will be loaded and returned. initCoreFont :: String -> X FontStruct @@ -67,7 +72,7 @@ initCoreFont s = do d <- asks display io $ catch (getIt d) (fallBack d) where getIt d = loadQueryFont d s - fallBack d = const $ loadQueryFont d "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*" + fallBack d = econst $ loadQueryFont d "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*" releaseCoreFont :: FontStruct -> X () releaseCoreFont fs = do @@ -80,7 +85,7 @@ initUtf8Font s = do (_,_,fs) <- io $ catch (getIt d) (fallBack d) return fs where getIt d = createFontSet d s - fallBack d = const $ createFontSet d "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*" + fallBack d = econst $ createFontSet d "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*" releaseUtf8Font :: FontSet -> X () releaseUtf8Font fs = do diff --git a/XMonad/Util/Loggers.hs b/XMonad/Util/Loggers.hs index 3c8c3ee..19e6eae 100644 --- a/XMonad/Util/Loggers.hs +++ b/XMonad/Util/Loggers.hs @@ -52,7 +52,9 @@ import XMonad.Hooks.DynamicLog import XMonad.Util.Font (Align (..)) import XMonad.Util.NamedWindows (getName) +import Prelude hiding (catch) import Control.Applicative ((<$>)) +import Control.Exception import Data.List (isPrefixOf, isSuffixOf) import Data.Maybe (fromMaybe) import Data.Traversable (traverse) @@ -62,6 +64,9 @@ import System.Locale import System.Process (runInteractiveCommand) import System.Time +econst :: Monad m => a -> IOException -> m a +econst = const . return + -- $usage -- Use this module by importing it into your @~\/.xmonad\/xmonad.hs@: -- @@ -138,7 +143,7 @@ loadAvg = logCmd "/usr/bin/uptime | sed 's/.*: //; s/,//g'" -- | Create a 'Logger' from an arbitrary shell command. logCmd :: String -> Logger logCmd c = io $ do (_, out, _, _) <- runInteractiveCommand c - fmap Just (hGetLine out) `catch` (const $ return Nothing) + fmap Just (hGetLine out) `catch` econst Nothing -- no need to waitForProcess, we ignore SIGCHLD -- | Get a count of filtered files in a directory. |