¤ wmShellF, wmShellF'



wmShellF :: String -> F c d -> F ((String  Bool)  c) (()  d)
wmShellF' :: (ShellF -> ShellF) -> String -> F c d -> F ((String  Bool)  c) (()  d)


wmShellF title fud


wmShellF is a version of shellF with an added interface to some simple dynamic window management functions.

By default, wmShellF outputs a message instead of terminating the program when the user tries to close the window. The customiser setDeleteWindowAction can be used to change this as for shellF'.


When Right x is input, x is passed to fud. When Left (Left title) is input, the window title (displayed in the title bar by the window manager) is change to title. When Left (Right False) is input, the window is made invisible (unmapped). When Left (Right True) is input, the window is made visible (mapped).


When fud outputs y, the composition outputs Right y. When WM_DELETE_WINDOW message is received from the window manager (e.g., because the user pressed the close window button on the title bar), the composition outputs Left ().


title :: String
initial window title
fud :: F c d
fudget that determines the contents of the shell window.

See Also

shellF, titleShellF.


Some self explanatory datatypes should be provided for the window management messages.