import Control.Monad (when, forever) import qualified Graphics.X11.Xlib as X import qualified Graphics.X11.Xlib.Extras as X main = do dpy <- X.openDisplay "" let scr = X.defaultScreen dpy h = fromIntegral (X.displayHeight dpy scr) w = fromIntegral (X.displayWidth dpy scr) root <- X.rootWindow dpy scr X.allocaSetWindowAttributes $ \attr -> do X.set_event_mask attr X.substructureNotifyMask X.changeWindowAttributes dpy root X.cWEventMask attr forever $ X.allocaXEvent $ \event -> do X.nextEvent dpy event eventType <- X.get_EventType event when (eventType == X.mapNotify) $ do win <- X.get_Window event X.moveResizeWindow dpy win 0 0 h w