windowF :: [XCommand] -> K a b -> F a b


windowF startcmds fkernel


windowF is used to create ``leaf'' windows, i.e windows that are the basic building blocks, and don't contain any other windows. They are used to create a wide range of basic user interface elements, e.g. displays, input fields, buttons, etc.


startcmds :: [XCommand]
a list of low level commands to be executed right after the window is created. This usually includes the ChangeWindowAttributes command to set window attributes. One important window attribute is the event mask, where you typically include things like ExposureMask, ButtonPressMask, KeyPressMask, and so on. (An empty attribute list implies the default event mask, which is the empty event mask.)

fkernel :: K a b
a fudget kernel that determines the behaviour of this window.


connected directly to the kernel.


connected directly to the kernel.

The fudget is expected to cooperate with the dynamic layout mechanism. This amounts to the following:

See Also

Fudgets implemented using windowF: displayF, stringF.

Related combinators: groupF.

Dynamic Layout.

Fudget kernel programming: K, putK, getK, nullK, XCommand, XEvent, LayoutRequest.


The startcmds argument is redundant, since the commands could be output by the fudget kernel itself.