module AuxShellF where
import Fudgets
import TitleShellF(wmShellF')
auxShellF :: String -> F c b -> F (Either Bool c) (Either Bool b)
auxShellF = forall {c} {b}.
(ShellF -> ShellF)
-> String -> F c b -> F (Either Bool c) (Either Bool b)
auxShellF' forall a. Customiser a
standard
delayedAuxShellF :: String -> F c b -> F (Either Bool c) (Either Bool b)
delayedAuxShellF = forall {c} {b}.
(ShellF -> ShellF)
-> String -> F c b -> F (Either Bool c) (Either Bool b)
delayedAuxShellF' forall a. Customiser a
standard
delayedAuxShellF' :: (ShellF -> ShellF)
-> String -> F c b -> F (Either Bool c) (Either Bool b)
delayedAuxShellF' ShellF -> ShellF
pm String
title F c b
fud =
forall {c} {b}.
(ShellF -> ShellF)
-> String -> F c b -> F (Either Bool c) (Either Bool b)
auxShellF' ShellF -> ShellF
pm String
title F c b
fud forall c d e. F c d -> SP e c -> F e d
>=^^< forall {b}. SP (Either Bool b) (Either Bool b)
emptyDownSP
where
emptyDownSP :: SP (Either Bool b) (Either Bool b)
emptyDownSP = forall {b} {b}.
SP (Either Bool b) (Either Bool b)
-> SP (Either Bool b) (Either Bool b)
-> (b -> SP (Either Bool b) (Either Bool b))
-> SP (Either Bool b) (Either Bool b)
getPopSP SP (Either Bool b) (Either Bool b)
emptyDownSP SP (Either Bool b) (Either Bool b)
upSP b -> SP (Either Bool b) (Either Bool b)
downSP
downSP :: b -> SP (Either Bool b) (Either Bool b)
downSP b
x = forall {b} {b}.
SP (Either Bool b) (Either Bool b)
-> SP (Either Bool b) (Either Bool b)
-> (b -> SP (Either Bool b) (Either Bool b))
-> SP (Either Bool b) (Either Bool b)
getPopSP (b -> SP (Either Bool b) (Either Bool b)
downSP b
x) (b -> SP (Either Bool b) (Either Bool b)
msgSP b
x) b -> SP (Either Bool b) (Either Bool b)
downSP
upSP :: SP (Either Bool b) (Either Bool b)
upSP = forall {b} {b}.
SP (Either Bool b) (Either Bool b)
-> SP (Either Bool b) (Either Bool b)
-> (b -> SP (Either Bool b) (Either Bool b))
-> SP (Either Bool b) (Either Bool b)
getPopSP SP (Either Bool b) (Either Bool b)
emptyDownSP SP (Either Bool b) (Either Bool b)
upSP b -> SP (Either Bool b) (Either Bool b)
msgSP
msgSP :: b -> SP (Either Bool b) (Either Bool b)
msgSP b
x = forall b a. b -> SP a b -> SP a b
putSP (forall a b. b -> Either a b
Right b
x) SP (Either Bool b) (Either Bool b)
upSP
getPopSP :: SP (Either Bool b) (Either Bool b)
-> SP (Either Bool b) (Either Bool b)
-> (b -> SP (Either Bool b) (Either Bool b))
-> SP (Either Bool b) (Either Bool b)
getPopSP SP (Either Bool b) (Either Bool b)
downSP SP (Either Bool b) (Either Bool b)
upSP b -> SP (Either Bool b) (Either Bool b)
msgSP = forall a b. Cont (SP a b) a
getSP forall a b. (a -> b) -> a -> b
$ forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
either Bool -> SP (Either Bool b) (Either Bool b)
popSP b -> SP (Either Bool b) (Either Bool b)
msgSP
where popSP :: Bool -> SP (Either Bool b) (Either Bool b)
popSP Bool
b = forall b a. b -> SP a b -> SP a b
putSP (forall a b. a -> Either a b
Left Bool
b) forall a b. (a -> b) -> a -> b
$ if Bool
b then SP (Either Bool b) (Either Bool b)
upSP else SP (Either Bool b) (Either Bool b)
downSP
auxShellF' :: (ShellF -> ShellF)
-> String -> F c b -> F (Either Bool c) (Either Bool b)
auxShellF' ShellF -> ShellF
pm String
title F c b
fud =
forall {t1} {a} {t2} {b}.
(t1 -> a) -> (t2 -> b) -> Either t1 t2 -> Either a b
mapEither (forall a b. a -> b -> a
const Bool
False) forall a. Customiser a
id forall a b e. (a -> b) -> F e a -> F e b
>^=<
forall {c} {d}.
(ShellF -> ShellF)
-> String
-> F c d
-> F (Either (Either String Bool) c) (Either () d)
wmShellF' (ShellF -> ShellF
pm forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall xxx. HasVisible xxx => Bool -> Customiser xxx
setVisible Bool
False) String
title F c b
fud
forall c d e. F c d -> (e -> c) -> F e d
>=^< forall {t1} {a} {t2} {b}.
(t1 -> a) -> (t2 -> b) -> Either t1 t2 -> Either a b
mapEither forall a b. b -> Either a b
Right forall a. Customiser a
id