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

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