diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-08-22 21:10:59 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-08-22 21:10:59 +0200 |
commit | 7ed869fcf17dcd9ddb2e02c927c2699eb104df7b (patch) | |
tree | 7df455b0f84f326a54e001682dee7eef13a013d4 /lib/Phi/Widget.hs | |
parent | 37538aa626102e773bbb04db5edce3ab3365beb9 (diff) | |
download | phi-7ed869fcf17dcd9ddb2e02c927c2699eb104df7b.tar phi-7ed869fcf17dcd9ddb2e02c927c2699eb104df7b.zip |
Cache windows in taskbar
Diffstat (limited to 'lib/Phi/Widget.hs')
-rw-r--r-- | lib/Phi/Widget.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Phi/Widget.hs b/lib/Phi/Widget.hs index 5ffd534..68bed1b 100644 --- a/lib/Phi/Widget.hs +++ b/lib/Phi/Widget.hs @@ -98,12 +98,12 @@ type RenderCache w s = IOCache (w, s, Int, Int, Int, Int, Xlib.Rectangle) Surfac createIOCache :: Eq a => (a -> IO b) -> IOCache a b createIOCache = lift . Kleisli -runIOCache :: Eq a => a -> StateT (IOCache a b) IO (b, Bool) +runIOCache :: Eq a => a -> StateT (IOCache a b) IO b runIOCache a = do cache <- get - (b, updated, cache') <- liftIO $ runKleisli (runCache' cache) a + (b, cache') <- liftIO $ runKleisli (runCache cache) a put cache' - return (b, updated) + return b createRenderCache :: (w -> s -> Int -> Int -> Int -> Int -> Xlib.Rectangle -> Render ()) -> CacheArrow (Kleisli IO) (w, s, Int, Int, Int, Int, Xlib.Rectangle) Surface |