diff options
author | Don Stewart <dons@cse.unsw.edu.au> | 2007-03-09 14:41:49 +0100 |
---|---|---|
committer | Don Stewart <dons@cse.unsw.edu.au> | 2007-03-09 14:41:49 +0100 |
commit | 27b1bcc97eb5893c38bfe5593a9e4661cc003994 (patch) | |
tree | 7ae44d838244c45c7ccd4a8b583bf2e1dfe20ab8 | |
parent | 3bbade169123fec5e9721b4efe483b8883fcd941 (diff) | |
download | metatile-27b1bcc97eb5893c38bfe5593a9e4661cc003994.tar metatile-27b1bcc97eb5893c38bfe5593a9e4661cc003994.zip |
alloc the event space only once
darcs-hash:20070309134149-9c5c1-34d0f84463d4f1a35e9769398c98025ab7d140fa
-rw-r--r-- | Main.hs | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -67,14 +67,15 @@ main = do , workspace = W.empty workspaces } - runW initState $ do + allocaXEvent $ \ev -> + runW initState $ do r <- io $ rootWindow dpy dflt - io $ do selectInput dpy r $ substructureRedirectMask - .|. substructureNotifyMask - .|. enterWindowMask - .|. leaveWindowMask + io $ sync dpy False + io $ selectInput dpy r $ substructureRedirectMask + .|. substructureNotifyMask + .|. enterWindowMask + .|. leaveWindowMask - sync dpy False grabKeys dpy r (_, _, ws) <- io $ queryTree dpy r @@ -84,8 +85,9 @@ main = do when (not (waOverrideRedirect wa) && waMapState wa == waIsViewable) (manage w) - forever $ handle =<< io (allocaXEvent $ \ev -> - nextEvent dpy ev >> getEvent ev) + io $ sync dpy False + forever $ handle =<< io (nextEvent dpy ev >> getEvent ev) + return () where forever a = a >> forever a |