module GetVisual where
import Command(XRequest(..))
import Event(XResponse(..))
import Xrequest(xrequest)

defaultVisual :: (Visual -> f hi ho) -> f hi ho
defaultVisual Visual -> f hi ho
cont = forall {f :: * -> * -> *} {ans} {hi} {ho}.
FudgetIO f =>
XRequest -> (XResponse -> Maybe ans) -> (ans -> f hi ho) -> f hi ho
xrequest XRequest
DefaultVisual XResponse -> Maybe Visual
gotit Visual -> f hi ho
cont
  where gotit :: XResponse -> Maybe Visual
gotit (GotVisual Visual
v) = forall a. a -> Maybe a
Just Visual
v
        gotit XResponse
_ = forall a. Maybe a
Nothing