diff options
Diffstat (limited to 'lib/Phi/X11.hs')
-rw-r--r-- | lib/Phi/X11.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Phi/X11.hs b/lib/Phi/X11.hs index a4fd5c1..7e0bfff 100644 --- a/lib/Phi/X11.hs +++ b/lib/Phi/X11.hs @@ -124,7 +124,7 @@ runPhi xconfig config widget = do } PhiState { phiRootImage = bg , phiPanels = [] - , phiRepaint = True + , phiRepaint = False , phiShutdown = False , phiShutdownHold = 0 , phiWidgetState = initialState @@ -133,12 +133,14 @@ runPhi xconfig config widget = do panels <- mapM (\(screen, window) -> createPanel conn window screen) screenPanels - forM_ panels $ \panel -> do - setPanelProperties conn panel - liftIO $ mapWindow conn (panelWindow panel) + forM_ panels $ setPanelProperties conn modify $ \state -> state { phiPanels = panels } + updatePanels conn xcb + + forM_ panels $ liftIO . mapWindow conn . panelWindow + liftIO $ forkIO $ receiveEvents phi conn forever $ do |